home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / misc / volume15 / gnuplot2 / patch02 < prev    next >
Encoding:
Text File  |  1990-10-05  |  78.7 KB  |  2,653 lines

  1. Newsgroups: comp.sources.misc
  2. X-UNIX-From: eln272v@monu1.cc.monash.edu.au
  3. from: Russell Lang <rjl@monu1.cc.monash.edu.au>
  4. subject: v15i017: gnuplot 2.0 patch 1 (2 of 4)
  5. Sender: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)
  6.  
  7. Posting-number: Volume 15, Issue 17
  8. Submitted-by: Russell Lang <rjl@monu1.cc.monash.edu.au>
  9. Archive-name: gnuplot2/patch02
  10.  
  11. #! /bin/sh
  12. # This is a shell archive.  Remove anything before this line, then unpack
  13. # it by saving it into a file and typing "sh file".  To overwrite existing
  14. # files, type "sh file -c".  You can also feed this as standard input via
  15. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  16. # will see the following message at the end:
  17. #        "End of shell archive."
  18. # Contents:  patch1a
  19. # Wrapped by eln272v@monu1 on Tue Sep 18 14:52:51 1990
  20. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  21. if test -f patch1a -a "${1}" != "-c" ; then 
  22.   echo shar: Will not over-write existing file \"patch1a\"
  23. else
  24. echo shar: Extracting \"patch1a\" \(76676 characters\)
  25. sed "s/^X//" >patch1a <<'END_OF_patch1a'
  26. Xdiff -c ./README ../patch/README
  27. X*** ./README    Tue Mar 27 08:58:56 1990
  28. X--- ../patch/README    Thu Sep 13 10:07:14 1990
  29. X***************
  30. X*** 16,24
  31. X  
  32. X                       GNUPLOT 2.0 RELEASE NOTES
  33. X  
  34. X! New terminal drivers: Roland DXY800A, EEPIC, EPSON LX-800, Fig,
  35. X! HP2648, HPGL, HP LaserJet, Imagen, Kermit-MS Tektronix emulator,
  36. X! LaTeX, MCGA, NEC CP6 pinwriter, POSTSCRIPT, Proprinter, SUN, VGA.
  37. X  
  38. X  Additions:
  39. X  
  40. X
  41. X--- 16,25 -----
  42. X  
  43. X                       GNUPLOT 2.0 RELEASE NOTES
  44. X  
  45. X! New terminal drivers: ATT6300, Roland DXY800A, EEPIC, emTeX, EPSON LX-800, 
  46. X! EPSON 60dpi, Fig, HP2648, HPGL, HP LaserJet, Imagen, Kermit-MS Tektronix 
  47. X! emulator, LaTeX, MCGA, NEC CP6 pinwriter, POSTSCRIPT, Proprinter, Star color 
  48. X! printer, Tandy DMP-130, Tektronix 410x, SUN, VGA, X11.
  49. X  
  50. X  Additions:
  51. X  
  52. X***************
  53. X*** 178,184
  54. X                         PREPROCESSOR #DEFINES
  55. X  
  56. X  These #defines should be checked before compilation:
  57. X! define        file                note
  58. X  ------      ----            --------
  59. X  VFORK       Makefile        define if you've got vfork() system call
  60. X  GAMMA       Makefile        define if you've got gamma(3)
  61. X
  62. X--- 179,185 -----
  63. X                         PREPROCESSOR #DEFINES
  64. X  
  65. X  These #defines should be checked before compilation:
  66. X! define      file            note
  67. X  ------      ----            --------
  68. X  VFORK       Makefile        define if you've got vfork() system call
  69. X  GAMMA       Makefile        define if you've got gamma(3)
  70. X***************
  71. X*** 199,205
  72. X  various plotting terminals, printers, and protocols that a given version
  73. X  of gnuplot can access:
  74. X  
  75. X! define         file        note
  76. X  ------      ----            --------
  77. X  TERMFLAGS   Makefile        the set of terminals you want, from below
  78. X  
  79. X
  80. X--- 200,206 -----
  81. X  various plotting terminals, printers, and protocols that a given version
  82. X  of gnuplot can access:
  83. X  
  84. X! define         file            note
  85. X  ------      ----            --------
  86. X  TERMFLAGS   Makefile        the set of terminals you want, from below
  87. X              or term.h
  88. X***************
  89. X*** 202,207
  90. X  define         file        note
  91. X  ------      ----            --------
  92. X  TERMFLAGS   Makefile        the set of terminals you want, from below
  93. X  
  94. X     AED         AED 512 and AED 767
  95. X     BITGRAPH    BBN BitGraph
  96. X
  97. X--- 203,209 -----
  98. X  define         file            note
  99. X  ------      ----            --------
  100. X  TERMFLAGS   Makefile        the set of terminals you want, from below
  101. X+             or term.h
  102. X  
  103. X     AED         AED 512 and AED 767
  104. X     ATT6300     PC with AT&T 6300 graphics
  105. X***************
  106. X*** 204,209
  107. X  TERMFLAGS   Makefile        the set of terminals you want, from below
  108. X  
  109. X     AED         AED 512 and AED 767
  110. X     BITGRAPH    BBN BitGraph
  111. X     DXY800A     Roland DXY800A plotter
  112. X     EPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  113. X
  114. X--- 206,212 -----
  115. X              or term.h
  116. X  
  117. X     AED         AED 512 and AED 767
  118. X+    ATT6300     PC with AT&T 6300 graphics
  119. X     BITGRAPH    BBN BitGraph
  120. X     CORONA      PC with Corona graphics 325
  121. X     DXY800A     Roland DXY800A plotter
  122. X***************
  123. X*** 205,210
  124. X  
  125. X     AED         AED 512 and AED 767
  126. X     BITGRAPH    BBN BitGraph
  127. X     DXY800A     Roland DXY800A plotter
  128. X     EPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  129. X     FIG         Fig graphics language (requires object.h from TransFig)
  130. X
  131. X--- 208,214 -----
  132. X     AED         AED 512 and AED 767
  133. X     ATT6300     PC with AT&T 6300 graphics
  134. X     BITGRAPH    BBN BitGraph
  135. X+    CORONA      PC with Corona graphics 325
  136. X     DXY800A     Roland DXY800A plotter
  137. X     EEPIC       EEPIC-extended LaTeX driver, for EEPIC users
  138. X     EMTEX       LATEX picture environment with emTeX specials
  139. X***************
  140. X*** 206,211
  141. X     AED         AED 512 and AED 767
  142. X     BITGRAPH    BBN BitGraph
  143. X     DXY800A     Roland DXY800A plotter
  144. X     EPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  145. X     FIG         Fig graphics language (requires object.h from TransFig)
  146. X     HP2648      HP2648, HP2647
  147. X
  148. X--- 210,218 -----
  149. X     BITGRAPH    BBN BitGraph
  150. X     CORONA      PC with Corona graphics 325
  151. X     DXY800A     Roland DXY800A plotter
  152. X+    EEPIC       EEPIC-extended LaTeX driver, for EEPIC users
  153. X+    EMTEX       LATEX picture environment with emTeX specials
  154. X+    EPS60       Epson-style 60-dot per inch printers
  155. X     EPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  156. X     FIG         Fig graphics language (requires object.h from TransFig)
  157. X     HERCULES    IBM PC/Clone with Hercules graphics board
  158. X***************
  159. X*** 208,213
  160. X     DXY800A     Roland DXY800A plotter
  161. X     EPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  162. X     FIG         Fig graphics language (requires object.h from TransFig)
  163. X     HP2648      HP2648, HP2647
  164. X     HP26        HP2623A and maybe others
  165. X     HP75        HP7580, and probably other HPs
  166. X
  167. X--- 215,221 -----
  168. X     EPS60       Epson-style 60-dot per inch printers
  169. X     EPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  170. X     FIG         Fig graphics language (requires object.h from TransFig)
  171. X+    HERCULES    IBM PC/Clone with Hercules graphics board
  172. X     HP2648      HP2648, HP2647
  173. X     HP26        HP2623A and maybe others
  174. X     HP75        HP7580, and probably other HPs
  175. X***************
  176. X*** 223,229
  177. X     QMS         QMS/QUIC laserprinter (Talaris 1200 and others)
  178. X     REGIS       ReGis graphics (vt125, vt220, vt240, Gigis...)
  179. X     SELANAR     Selanar
  180. X!    TEK         Tektronix 4010, and probably others
  181. X     SUN         Sun Microsystems Workstation
  182. X     UNIXPC      unixpc (ATT 3b1 or ATT 7300)
  183. X     UNIXPLOT    unixplot
  184. X
  185. X--- 231,237 -----
  186. X     QMS         QMS/QUIC laserprinter (Talaris 1200 and others)
  187. X     REGIS       ReGis graphics (vt125, vt220, vt240, Gigis...)
  188. X     SELANAR     Selanar
  189. X!    STARC       Star Color Printer
  190. X     SUN         Sun Microsystems Workstation
  191. X     T410X       Tektronix 4106, 4107, 4109 and 420x terminals
  192. X     TANDY60     Tandy DMP-130 series 60-dot per inch graphics
  193. X***************
  194. X*** 225,230
  195. X     SELANAR     Selanar
  196. X     TEK         Tektronix 4010, and probably others
  197. X     SUN         Sun Microsystems Workstation
  198. X     UNIXPC      unixpc (ATT 3b1 or ATT 7300)
  199. X     UNIXPLOT    unixplot
  200. X     V384        Vectrix 384 and tandy color printer
  201. X
  202. X--- 233,241 -----
  203. X     SELANAR     Selanar
  204. X     STARC       Star Color Printer
  205. X     SUN         Sun Microsystems Workstation
  206. X+    T410X       Tektronix 4106, 4107, 4109 and 420x terminals
  207. X+    TANDY60     Tandy DMP-130 series 60-dot per inch graphics
  208. X+    TEK         Tektronix 4010, and probably others
  209. X     UNIXPC      unixpc (ATT 3b1 or ATT 7300)
  210. X     UNIXPLOT    unixplot
  211. X     V384        Vectrix 384 and tandy color printer
  212. X***************
  213. X*** 228,233
  214. X     UNIXPC      unixpc (ATT 3b1 or ATT 7300)
  215. X     UNIXPLOT    unixplot
  216. X     V384        Vectrix 384 and tandy color printer
  217. X  
  218. X  
  219. X  These #defines are defined automatically by various compilers, some
  220. X
  221. X--- 239,245 -----
  222. X     UNIXPC      unixpc (ATT 3b1 or ATT 7300)
  223. X     UNIXPLOT    unixplot
  224. X     V384        Vectrix 384 and tandy color printer
  225. X+    X11         X11R4 window system
  226. X  
  227. X  
  228. X  These #defines are defined automatically by various compilers, some
  229. X***************
  230. X*** 246,254
  231. X  
  232. X  under UNIX:  
  233. X  To compile do:
  234. X!     cp makefile.unx Makefile
  235. X!     (make any changes to #defines, especially HELPDEST and TERMFLAGS)
  236. X!     make
  237. X  
  238. X  under VMS:  
  239. X   To compile:
  240. X
  241. X--- 258,271 -----
  242. X  
  243. X  under UNIX:  
  244. X  To compile do:
  245. X!   Copy one of makefile.unx, makefile.x11 or makefile.3b1,  
  246. X!   to Makefile, for example
  247. X!       cp makefile.unx Makefile
  248. X!   Edit Makefile to change LIBS, #defines, especially HELPDEST and TERMFLAGS
  249. X!   Edit term.h, to include/exclude terminals
  250. X!       make
  251. X!   If that works, try
  252. X!       make install
  253. X  
  254. X  under VMS:  
  255. X   To compile:
  256. Xdiff -c ./README.x11 ../patch/README.x11
  257. X*** ./README.x11    Thu Sep  6 09:21:38 1990
  258. X--- ../patch/README.x11    Tue Sep  4 20:57:58 1990
  259. X***************
  260. X*** 0
  261. X
  262. X--- 1,49 -----
  263. X+ Gnuplot Support for X11
  264. X+ -----------------------
  265. X+ 31 August 1990
  266. X+ 
  267. X+ Installing gnuplot X11 support requires:
  268. X+ 
  269. X+    o compilation of term.c with -DX11 included in TERMFLAGS
  270. X+ 
  271. X+    o compilation of plot.c with -DX11
  272. X+ 
  273. X+    o compilation of the outboard X11 terminal driver gnuplot_x11
  274. X+ 
  275. X+    o additions to the gnuplot(1) man page to describe command line
  276. X+      options and tailorable resources available when gnuplot terminal
  277. X+      types x11 or X11 are used.
  278. X+ 
  279. X+ makefile.x11 (a modified version of makefile.unx) provides these additional
  280. X+ functions. The X11LIBS and X11INCLUDES parameters should be set to point to
  281. X+ the X11 libraries and include files on your system. Comments give settings
  282. X+ for several systems.
  283. X+ 
  284. X+ Sorry, as of this writing no support is available for systems without the 
  285. X+ Athena widget library (libXaw.a), or platforms other than unix.
  286. X+ 
  287. X+ Differences from "xgnuplot"
  288. X+ ---------------------------
  289. X+ 
  290. X+ This X11 support is based on (and replaces) the xgnuplot wrapper/terminal 
  291. X+ driver which was distributed separately from gnuplot. Differences:
  292. X+ 
  293. X+    o Gnuplot silently invokes the outboard driver, rather than vice versa.
  294. X+      Thus resource names in .Xdefaults begin with "gnuplot" rather than
  295. X+      "xgnuplot". En passant, this change fixed the bug where xgnuplot would
  296. X+      hang until Ctrl-C when gnuplot was exited without plotting at least
  297. X+      one x11/X11 plot.
  298. X+ 
  299. X+    o When the window is resized, the currently displayed plot is automatically
  300. X+      rescaled and replotted.
  301. X+ 
  302. X+    o Compiles under X11 R3 as well as R4. This required using XtInitialize
  303. X+      instead of XtAppInitialize, (char *) instead of XtPointer for callback
  304. X+      client data declarations, removing a reference to XGetGCValues, and 
  305. X+      parameterizing (X11INCLUDES in makefile.x11) the location of the needed 
  306. X+      Athena include files.
  307. X+ 
  308. X+ 
  309. X+ ---------------------------------
  310. X+ Ed Kubaitis, ejk@uxh.cso.uiuc.edu
  311. X+ Computing Services Office - University of Illinois, Urbana
  312. XCommon subdirectories: ./bugtest and ../patch/bugtest
  313. Xdiff -c ./buildvms.com ../patch/buildvms.com
  314. X*** ./buildvms.com    Tue Mar 27 08:59:27 1990
  315. X--- ../patch/buildvms.com    Thu Sep  6 12:11:16 1990
  316. X***************
  317. X*** 1,6
  318. X  $ ! buildvms.com  (Command file to compile/link gnuplot and doc2hlp)
  319. X  $ CFLAGS = "/NOOP"
  320. X! $ TERMFLAGS = "/define=(AED,BITGRAPH,DXY800A,HP2648,HP26,HP75,HPGL,KERMIT,LATEX,POSTSCRIPT,QMS,REGIS,SELANAR,TEK,V384)"
  321. X  $ set verify
  322. X  $ cc 'CFLAGS' command.c
  323. X  $ cc 'CFLAGS' eval.c
  324. X
  325. X--- 1,7 -----
  326. X  $ ! buildvms.com  (Command file to compile/link gnuplot and doc2hlp)
  327. X  $ CFLAGS = "/NOOP"
  328. X! $ !TERMFLAGS = "/define=()"
  329. X! $ TERMFLAGS = ""
  330. X  $ set verify
  331. X  $ cc 'CFLAGS' command.c
  332. X  $ cc 'CFLAGS' eval.c
  333. Xdiff -c ./command.c ../patch/command.c
  334. X*** ./command.c    Tue Mar 27 09:00:55 1990
  335. X--- ../patch/command.c    Wed Sep 12 11:16:51 1990
  336. X***************
  337. X*** 40,45
  338. X  
  339. X  #ifdef __TURBOC__
  340. X  #include <dos.h>    /* sleep() */
  341. X  
  342. X  #else    /* must be MSC */
  343. X  #include <time.h>    /* kludge to provide sleep() */
  344. X
  345. X--- 40,47 -----
  346. X  
  347. X  #ifdef __TURBOC__
  348. X  #include <dos.h>    /* sleep() */
  349. X+ #include <conio.h>
  350. X+ extern unsigned _stklen = 8192;    /* increase stack size */
  351. X  
  352. X  #else    /* must be MSC */
  353. X  #include <time.h>    /* kludge to provide sleep() */
  354. X***************
  355. X*** 72,77
  356. X  extern char *strcpy(),*strncpy(),*strcat();
  357. X  extern int strlen(), strcmp();
  358. X  
  359. X  extern double magnitude(),angle(),real(),imag();
  360. X  extern struct value *const_express(), *pop(), *complex();
  361. X  extern struct at_type *temp_at(), *perm_at();
  362. X
  363. X--- 74,86 -----
  364. X  extern char *strcpy(),*strncpy(),*strcat();
  365. X  extern int strlen(), strcmp();
  366. X  
  367. X+ #ifdef unix
  368. X+ extern char *getwd();
  369. X+ #else
  370. X+ extern char *getcwd();
  371. X+ #endif
  372. X+ extern int chdir();
  373. X+ 
  374. X  extern double magnitude(),angle(),real(),imag();
  375. X  extern struct value *const_express(), *pop(), *complex();
  376. X  extern struct at_type *temp_at(), *perm_at();
  377. X***************
  378. X*** 265,270
  379. X              c_token = num_tokens = 0;
  380. X          }
  381. X      }
  382. X      else if (almost_equals(c_token,"ex$it") ||
  383. X              almost_equals(c_token,"q$uit")) {
  384. X          done(IO_SUCCESS);
  385. X
  386. X--- 274,301 -----
  387. X              c_token = num_tokens = 0;
  388. X          }
  389. X      }
  390. X+     else if (almost_equals(c_token,"cd")) {
  391. X+         if (!isstring(++c_token))
  392. X+             int_error("expecting directory name",c_token);
  393. X+         else {
  394. X+             quotel_str(sv_file,c_token);
  395. X+             if (chdir(sv_file)) {
  396. X+               int_error("Can't change to this directory",c_token);
  397. X+             }
  398. X+         c_token++;
  399. X+         }
  400. X+     }
  401. X+     else if (almost_equals(c_token,"pwd")) {
  402. X+ #ifdef unix
  403. X+ /* unix has getwd() */
  404. X+       (void) getwd(sv_file);
  405. X+ #else
  406. X+ /* Turbo C and VMS have getcwd() */
  407. X+       (void) getcwd(sv_file,MAX_ID_LEN);
  408. X+ #endif
  409. X+       fprintf(stderr,"%s\n", sv_file);
  410. X+       c_token++;
  411. X+     }
  412. X      else if (almost_equals(c_token,"ex$it") ||
  413. X              almost_equals(c_token,"q$uit")) {
  414. X          done(IO_SUCCESS);
  415. X***************
  416. X*** 281,287
  417. X              int_error("cannot set range with replot",c_token);
  418. X          if (!END_OF_COMMAND) {
  419. X              capture(str,c_token,num_tokens-1);
  420. X!             if ( (strlen(str) + strlen(input_line)) <= MAX_LINE_LEN-1) {
  421. X                  (void) strcat(replot_line,",");
  422. X                  (void) strcat(replot_line,str); 
  423. X              } else {
  424. X
  425. X--- 312,318 -----
  426. X              int_error("cannot set range with replot",c_token);
  427. X          if (!END_OF_COMMAND) {
  428. X              capture(str,c_token,num_tokens-1);
  429. X!             if ( (strlen(str) + strlen(replot_line)) <= MAX_LINE_LEN-1) {
  430. X                  (void) strcat(replot_line,",");
  431. X                  (void) strcat(replot_line,str); 
  432. X              } else {
  433. X***************
  434. X*** 1001,1007
  435. X      char *prompt;
  436. X  {
  437. X      register int i;
  438. X!     int start = 0;
  439. X      BOOLEAN more;
  440. X      int last;
  441. X      
  442. X
  443. X--- 1032,1038 -----
  444. X      char *prompt;
  445. X  {
  446. X      register int i;
  447. X!     int start = 0, ilen = 0;
  448. X      BOOLEAN more;
  449. X      int last;
  450. X      
  451. X***************
  452. X*** 1009,1016
  453. X      if (interactive) { /* if interactive use console IO so CED will work */
  454. X          cputs(prompt);
  455. X          do {
  456. X!            input_line[start] = MAX_LINE_LEN - start - 1;
  457. X!            cgets(&(input_line[start]));
  458. X             (void) putc('\n',stderr);
  459. X             if (input_line[start+2] == 26) {
  460. X                /* end-of-file */
  461. X
  462. X--- 1040,1048 -----
  463. X      if (interactive) { /* if interactive use console IO so CED will work */
  464. X          cputs(prompt);
  465. X          do {
  466. X!            ilen = MAX_LINE_LEN-start-1;
  467. X!            input_line[start] = ilen > 126 ? 126 : ilen;
  468. X!            (void) cgets(&(input_line[start]));
  469. X             (void) putc('\n',stderr);
  470. X             if (input_line[start+2] == 26) {
  471. X                /* end-of-file */
  472. XCommon subdirectories: ./demo and ../patch/demo
  473. XCommon subdirectories: ./docs and ../patch/docs
  474. Xdiff -c ./linkopt.tc ../patch/linkopt.tc
  475. X*** ./linkopt.tc    Tue Mar 27 09:03:43 1990
  476. X--- ../patch/linkopt.tc    Tue Aug 28 17:10:27 1990
  477. X***************
  478. X*** 1,2
  479. X! \tc\lib\C0l command eval graphics help internal misc parse plot scanner setshow standard term util version cga egavga herc ,gnuplot,gnuplot, \tc\lib\emu \tc\lib\mathl \tc\lib\cl \tc\lib\graphics
  480. X!         
  481. X
  482. X--- 1,9 -----
  483. X! \tc\lib\C0l +
  484. X! command eval graphics help internal misc parse +
  485. X! plot scanner setshow standard term util version +
  486. X! cga egavga herc att +
  487. X! ,gnuplot,gnuplot, +
  488. X! \tc\lib\emu +
  489. X! \tc\lib\mathl +
  490. X! \tc\lib\cl +
  491. X! \tc\lib\graphics
  492. Xdiff -c ./makefile.3b1 ../patch/makefile.3b1
  493. X*** ./makefile.3b1    Tue Mar 27 08:59:02 1990
  494. X--- ../patch/makefile.3b1    Mon Sep 10 10:10:56 1990
  495. X***************
  496. X*** 21,26
  497. X  CC = cc
  498. X  CFLAGS = -DGAMMA -O #-g
  499. X  
  500. X  # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  501. X  # -DAED         AED 512 and AED 767
  502. X  # -DBITGRAPH    BBN BitGraph
  503. X
  504. X--- 21,31 -----
  505. X  CC = cc
  506. X  CFLAGS = -DGAMMA -O #-g
  507. X  
  508. X+ # -lplot iff you have -DUNIXPLOT
  509. X+ # -lsuntool -lsunwindow -lpixrect  iff you have -DSUN
  510. X+ # -lgl_s if IRIS4D
  511. X+ LIBS = -lm -lplot
  512. X+ 
  513. X  # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  514. X  # other terminal flags defined in term.h
  515. X  # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  516. X***************
  517. X*** 22,48
  518. X  CFLAGS = -DGAMMA -O #-g
  519. X  
  520. X  # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  521. X! # -DAED         AED 512 and AED 767
  522. X! # -DBITGRAPH    BBN BitGraph
  523. X! # -DDXY800A     Roland DXY800A plotter
  524. X! # -DEPSON               Epson LX-800, Star NL-10, NX-1000 and lots of others
  525. X! # -DFIG                 Fig graphics language (requires object.h from TransFig)
  526. X! # -DHP2648              HP2648, HP2647
  527. X! # -DHP26        HP2623A and maybe others
  528. X! # -DHP75        HP7580, and probably other HPs
  529. X! # -DHPGL                HP7475 and (hopefully) lots of others
  530. X! # -DHPLJET              HP Laserjet
  531. X! # -DIMAGEN      Imagen laser printers (300dpi) (requires -Iterm also)
  532. X! # -DIRIS4D      IRIS4D series computer
  533. X! # -DKERMIT      MS-Kermit Tektronix 4010 emulator
  534. X! # -DLATEX       LATEX picture environment
  535. X! # -DPOSTSCRIPT  Postscript
  536. X! # -DPROPRINTER  IBM Proprinter
  537. X! # -DQMS         QMS/QUIC laserprinter (Talaris 1200 and others)
  538. X! # -DREGIS       ReGis graphics (vt125, vt220, vt240, Gigis...)
  539. X! # -DSELANAR     Selanar
  540. X! # -DTEK         Tektronix 4010, and probably others
  541. X! # -DSUN         Sun Microsystems Workstation
  542. X  # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  543. X  # -DUNIXPLOT    unixplot
  544. X  # -DV384        Vectrix 384 and tandy color printer
  545. X
  546. X--- 27,33 -----
  547. X  LIBS = -lm -lplot
  548. X  
  549. X  # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  550. X! # other terminal flags defined in term.h
  551. X  # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  552. X  # -DUNIXPLOT    unixplot
  553. X  
  554. X***************
  555. X*** 45,51
  556. X  # -DSUN         Sun Microsystems Workstation
  557. X  # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  558. X  # -DUNIXPLOT    unixplot
  559. X- # -DV384        Vectrix 384 and tandy color printer
  560. X  
  561. X  TERMFLAGS =  -Iterm -DNEC -DUNIXPLOT -DUNIXPC
  562. X  
  563. X
  564. X--- 30,35 -----
  565. X  # other terminal flags defined in term.h
  566. X  # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  567. X  # -DUNIXPLOT    unixplot
  568. X  
  569. X  TERMFLAGS =  -Iterm -DUNIXPLOT -DUNIXPC
  570. X  
  571. X***************
  572. X*** 47,53
  573. X  # -DUNIXPLOT    unixplot
  574. X  # -DV384        Vectrix 384 and tandy color printer
  575. X  
  576. X! TERMFLAGS =  -Iterm -DNEC -DUNIXPLOT -DUNIXPC
  577. X  
  578. X  OBJS = command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  579. X      plot.o scanner.o setshow.o standard.o term.o util.o
  580. X
  581. X--- 31,37 -----
  582. X  # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  583. X  # -DUNIXPLOT    unixplot
  584. X  
  585. X! TERMFLAGS =  -Iterm -DUNIXPLOT -DUNIXPC
  586. X  
  587. X  OBJS = command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  588. X      plot.o scanner.o setshow.o standard.o term.o util.o
  589. X***************
  590. X*** 57,64
  591. X  CSOURCE2 = help.c graphics.c internal.c
  592. X  CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c
  593. X  CSOURCE4 = term.c util.c version.c
  594. X! CSOURCE5 = term/aed.trm term/dxy.trm term/epson.trm term/font5x7.trm \
  595. X!     term/hp26.trm term/hp2648.trm term/hpgl.trm \
  596. X      term/hpljet.trm term/iris4d.trm term/latex.trm term/sun.trm
  597. X  CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  598. X      term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm \
  599. X
  600. X--- 41,48 -----
  601. X  CSOURCE2 = help.c graphics.c internal.c
  602. X  CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c
  603. X  CSOURCE4 = term.c util.c version.c
  604. X! CSOURCE5 = term/aed.trm term/dxy.trm term/eps60.trm term/epson.trm \
  605. X!     term/font5x7.trm term/hp26.trm term/hp2648.trm term/hpgl.trm \
  606. X      term/hpljet.trm term/iris4d.trm term/latex.trm term/sun.trm
  607. X  CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  608. X      term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  609. X***************
  610. X*** 61,68
  611. X      term/hp26.trm term/hp2648.trm term/hpgl.trm \
  612. X      term/hpljet.trm term/iris4d.trm term/latex.trm term/sun.trm
  613. X  CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  614. X!     term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm \
  615. X!     term/imPcodes.h term/imagen.trm term/object.h term/fig.trm
  616. X  # not C code, but still needed
  617. X  ETC = README README.gnutex makefile.unx makefile.vms linkopt.vms \
  618. X      makefile.3b1 plot.h help.h setshow.h lasergnu \
  619. X
  620. X--- 45,53 -----
  621. X      term/font5x7.trm term/hp26.trm term/hp2648.trm term/hpgl.trm \
  622. X      term/hpljet.trm term/iris4d.trm term/latex.trm term/sun.trm
  623. X  CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  624. X!     term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  625. X! CSOURCE7 = term/imPcodes.h term/imagen.trm term/object.h term/fig.trm \
  626. X!     term/latex.trm term/eepic.trm term/x11.trm gnuplot_x11.c
  627. X  # not C code, but still needed
  628. X  ETC = README README.gnutex makefile.unx makefile.vms linkopt.vms \
  629. X      README.x11 makefile.x11 \
  630. X***************
  631. X*** 65,71
  632. X      term/imPcodes.h term/imagen.trm term/object.h term/fig.trm
  633. X  # not C code, but still needed
  634. X  ETC = README README.gnutex makefile.unx makefile.vms linkopt.vms \
  635. X!     makefile.3b1 plot.h help.h setshow.h lasergnu \
  636. X      demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  637. X      demo/simple.demo demo/polar.demo demo/electron.demo \
  638. X      bugtest/README bugtest/printf.c bugtest/scanf.c \
  639. X
  640. X--- 50,57 -----
  641. X      term/latex.trm term/eepic.trm term/x11.trm gnuplot_x11.c
  642. X  # not C code, but still needed
  643. X  ETC = README README.gnutex makefile.unx makefile.vms linkopt.vms \
  644. X!     README.x11 makefile.x11 \
  645. X!     makefile.3b1 plot.h help.h setshow.h term.h lasergnu \
  646. X      demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  647. X      demo/simple.demo demo/polar.demo demo/electron.demo \
  648. X      bugtest/README bugtest/printf.c bugtest/scanf.c \
  649. X***************
  650. X*** 90,99
  651. X      translate/plot.h translate/scanner.c translate/standard.c \
  652. X      translate/test1 translate/test2 translate/util.c
  653. X  
  654. X! # -lplot iff you have -DUNIXPLOT
  655. X! # -lsuntool -lsunwindow -lpixrect  iff you have -DSUN
  656. X! # -lgl_s if IRIS4D
  657. X! LIBS = -lm -lplot
  658. X  
  659. X  gnuplot: $(OBJS) version.o
  660. X      ld /lib/crt0s.o /lib/shlib.ifile $(OBJS) version.o $(LIBS) -o gnuplot
  661. X
  662. X--- 76,82 -----
  663. X      translate/plot.h translate/scanner.c translate/standard.c \
  664. X      translate/test1 translate/test2 translate/util.c
  665. X  
  666. X! all:    gnuplot doc
  667. X  
  668. X  gnuplot: $(OBJS) version.o
  669. X      ld /lib/crt0s.o /lib/shlib.ifile $(OBJS) version.o $(LIBS) -o gnuplot
  670. X***************
  671. X*** 104,111
  672. X  translate:
  673. X      (cd translate; make)
  674. X  
  675. X- all:    gnuplot doc
  676. X- 
  677. X  install: gnuplot doc man_install
  678. X      cp gnuplot lasergnu $(DEST)
  679. X      strip $(DEST)/gnuplot
  680. X
  681. X--- 87,92 -----
  682. X  translate:
  683. X      (cd translate; make)
  684. X  
  685. X  install: gnuplot doc man_install
  686. X      cp gnuplot lasergnu $(DEST)
  687. X      strip $(DEST)/gnuplot
  688. X***************
  689. X*** 114,120
  690. X  man_install: docs/gnuplot.1 docs/lasergnu.1
  691. X      cp docs/gnuplot.1 docs/lasergnu.1 $(MANDEST)
  692. X  
  693. X! term.o: $(CSOURCE4) $(CSOURCE5) $(CSOURCE6)
  694. X      $(CC) $(CFLAGS) $(TERMFLAGS) -c term.c
  695. X  
  696. X  $(OBJS): plot.h
  697. X
  698. X--- 95,101 -----
  699. X  man_install: docs/gnuplot.1 docs/lasergnu.1
  700. X      cp docs/gnuplot.1 docs/lasergnu.1 $(MANDEST)
  701. X  
  702. X! term.o: $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  703. X      $(CC) $(CFLAGS) $(TERMFLAGS) -c term.c
  704. X  
  705. X  $(OBJS): plot.h
  706. X***************
  707. X*** 127,133
  708. X  command.o graphics.o misc.o plot.o setshow.o: setshow.h
  709. X  
  710. X  SOURCES=plot.h help.h setshow.h $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) \
  711. X!     $(CSOURCE4) $(CSOURCE5) $(CSOURCE6)
  712. X  
  713. X  lint:
  714. X      lint -hx $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) $(CSOURCE4)
  715. X
  716. X--- 108,114 -----
  717. X  command.o graphics.o misc.o plot.o setshow.o: setshow.h
  718. X  
  719. X  SOURCES=plot.h help.h setshow.h $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) \
  720. X!     $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  721. X  
  722. X  lint:
  723. X      lint -hx $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) $(CSOURCE4)
  724. Xdiff -c ./makefile.msc ../patch/makefile.msc
  725. X*** ./makefile.msc    Tue Mar 27 09:03:45 1990
  726. X--- ../patch/makefile.msc    Mon Sep  3 15:59:53 1990
  727. X***************
  728. X*** 10,16
  729. X  # /DPC means define symbol PC
  730. X  CFLAGS = /c /AL /DPC #/DMSDOS #/Zi #/Od
  731. X  
  732. X! TERMFLAGS = /DHERCULES /DCORONA /DATT6300 /DEPSON /DPOSTSCRIPT /DHP75 /DHPGL /DDXY800A  /DNEC
  733. X  
  734. X  # /NOE means NO EXTernal Dictionary
  735. X  # /EX  means pack EXE file
  736. X
  737. X--- 10,17 -----
  738. X  # /DPC means define symbol PC
  739. X  CFLAGS = /c /AL /DPC #/DMSDOS #/Zi #/Od
  740. X  
  741. X! # see other terminal defines in term.h
  742. X! TERMFLAGS = 
  743. X  
  744. X  # /NOE means NO EXTernal Dictionary
  745. X  # /EX  means pack EXE file
  746. X***************
  747. X*** 21,29
  748. X      misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  749. X      term.obj util.obj version.obj pcgraph.obj hrcgraph.obj corgraph.obj
  750. X  
  751. X! CSOURCE5 = term\aed.trm term\dxy.trm term\epson.trm term\font5x7.trm \
  752. X!     term\hp26.trm term\hp2648.trm term\hpgl.trm \
  753. X!     term\hpljet.trm term\iris4d.trm term\latex.trm 
  754. X  CSOURCE6 = term\post.trm term\pc.trm term\qms.trm term\regis.trm \
  755. X      term\tek.trm term\unixpc.trm term\unixplot.trm term\v384.trm \
  756. X      term\imPcodes.h term\imagen.trm term\object.h term\fig.trm
  757. X
  758. X--- 22,30 -----
  759. X      misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  760. X      term.obj util.obj version.obj pcgraph.obj hrcgraph.obj corgraph.obj
  761. X  
  762. X! CSOURCE5 = term\aed.trm term\dxy.trm term\eps60.trm term\epson.trm \
  763. X!     term\font5x7.trm term\hp26.trm term\hp2648.trm term\hpgl.trm \
  764. X!     term\hpljet.trm term\iris4d.trm term\latex.trm term\sun.trm
  765. X  CSOURCE6 = term\post.trm term\pc.trm term\qms.trm term\regis.trm \
  766. X      term\tek.trm term\unixpc.trm term\unixplot.trm term\v384.trm \
  767. X      term\imPcodes.h term\imagen.trm term\object.h term\fig.trm
  768. X***************
  769. X*** 65,72
  770. X  
  771. X  standard.obj: standard.c plot.h
  772. X  
  773. X! term.obj: term.c plot.h $(CSOURCE5) $(CSOURCE6)
  774. X!     cl $(CFLAGS) $(TERMFLAGS) term.c
  775. X  
  776. X  util.obj: util.c plot.h
  777. X  
  778. X
  779. X--- 66,73 -----
  780. X  
  781. X  standard.obj: standard.c plot.h
  782. X  
  783. X! term.obj: term.c term.h plot.h $(CSOURCE5) $(CSOURCE6)
  784. X!     cl $(CFLAGS) $(TERMFLAGS) /Iterm term.c
  785. X  
  786. X  util.obj: util.c plot.h
  787. X  
  788. Xdiff -c ./makefile.tc ../patch/makefile.tc
  789. X*** ./makefile.tc    Tue Mar 27 09:03:46 1990
  790. X--- ../patch/makefile.tc    Mon Sep  3 15:58:19 1990
  791. X***************
  792. X*** 8,15
  793. X  # location of Turbo C compiler
  794. X  # if this is changed then linkopt.tc will need to be edited.
  795. X  TC = \tc
  796. X! # location of BGI files
  797. X! BGI = $(TC)
  798. X  # -c means don't link, -f means emulate 8087 if not present
  799. X  # -ml means use large model (large code, large data)
  800. X  # -M means produce link map
  801. X
  802. X--- 8,16 -----
  803. X  # location of Turbo C compiler
  804. X  # if this is changed then linkopt.tc will need to be edited.
  805. X  TC = \tc
  806. X! # location of BGI files and BGIOBJ.EXE,
  807. X! # change this line if not in TC directory, i.e. $(TC)\bgi
  808. X! BGI = $(TC)\bgi
  809. X  # -c means don't link, -f means emulate 8087 if not present
  810. X  # -ml means use large model (large code, large data)
  811. X  # -M means produce link map
  812. X***************
  813. X*** 15,22
  814. X  # -M means produce link map
  815. X  # -y means include line numbers for debugger
  816. X  # -v means include debug info
  817. X! CFLAGS = -c -f -ml -M -y -v -I$(TC)\include -DMSDOS -DPC
  818. X! TERMFLAGS = -DPOSTSCRIPT -DHPGL -DHP75 -DDXY800A -DEPSON -DNEC
  819. X  
  820. X  OBJS =     command.obj eval.obj graphics.obj help.obj internal.obj \
  821. X      misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  822. X
  823. X--- 16,24 -----
  824. X  # -M means produce link map
  825. X  # -y means include line numbers for debugger
  826. X  # -v means include debug info
  827. X! # -w- means ignore warnings and do not report them
  828. X! CFLAGS = -c -f -ml -M -y -v -w- -I$(TC)\include -DMSDOS -DPC
  829. X! TERMFLAGS = 
  830. X  
  831. X  OBJS =     command.obj eval.obj graphics.obj help.obj internal.obj \
  832. X      misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  833. X***************
  834. X*** 20,26
  835. X  
  836. X  OBJS =     command.obj eval.obj graphics.obj help.obj internal.obj \
  837. X      misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  838. X!     term.obj util.obj version.obj cga.obj egavga.obj herc.obj
  839. X  
  840. X  CSOURCE5 = term\aed.trm term\dxy.trm term\epson.trm term\font5x7.trm \
  841. X      term\hp26.trm term\hp2648.trm term\hpgl.trm \
  842. X
  843. X--- 22,28 -----
  844. X  
  845. X  OBJS =     command.obj eval.obj graphics.obj help.obj internal.obj \
  846. X      misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  847. X!     term.obj util.obj version.obj cga.obj egavga.obj herc.obj att.obj
  848. X  
  849. X  CSOURCE5 = term\aed.trm term\dxy.trm term\eps60.trm term\epson.trm \
  850. X      term\font5x7.trm term\hp26.trm term\hp2648.trm term\hpgl.trm \
  851. X***************
  852. X*** 22,29
  853. X      misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  854. X      term.obj util.obj version.obj cga.obj egavga.obj herc.obj
  855. X  
  856. X! CSOURCE5 = term\aed.trm term\dxy.trm term\epson.trm term\font5x7.trm \
  857. X!     term\hp26.trm term\hp2648.trm term\hpgl.trm \
  858. X      term\hpljet.trm term\iris4d.trm term\latex.trm 
  859. X  CSOURCE6 = term\post.trm term\pc.trm term\qms.trm term\regis.trm \
  860. X      term\tek.trm term\unixpc.trm term\unixplot.trm term\v384.trm \
  861. X
  862. X--- 24,31 -----
  863. X      misc.obj parse.obj plot.obj scanner.obj setshow.obj standard.obj \
  864. X      term.obj util.obj version.obj cga.obj egavga.obj herc.obj att.obj
  865. X  
  866. X! CSOURCE5 = term\aed.trm term\dxy.trm term\eps60.trm term\epson.trm \
  867. X!     term\font5x7.trm term\hp26.trm term\hp2648.trm term\hpgl.trm \
  868. X      term\hpljet.trm term\iris4d.trm term\latex.trm 
  869. X  CSOURCE6 = term\post.trm term\pc.trm term\qms.trm term\regis.trm \
  870. X      term\tek.trm term\unixpc.trm term\unixplot.trm term\v384.trm \
  871. X***************
  872. X*** 65,72
  873. X  
  874. X  standard.obj: standard.c plot.h
  875. X  
  876. X! term.obj: term.c plot.h $(CSOURCE5) $(CSOURCE6)
  877. X!     tcc $(CFLAGS) $(TERMFLAGS) term.c
  878. X      
  879. X  util.obj: util.c plot.h
  880. X  
  881. X
  882. X--- 67,74 -----
  883. X  
  884. X  standard.obj: standard.c plot.h
  885. X  
  886. X! term.obj: term.c term.h plot.h $(CSOURCE5) $(CSOURCE6)
  887. X!     tcc $(CFLAGS) $(TERMFLAGS) -Iterm term.c
  888. X      
  889. X  util.obj: util.c plot.h
  890. X  
  891. X***************
  892. X*** 81,87
  893. X  
  894. X  # convert Borland Graphics Interface files to object for linking
  895. X  cga.obj: $(BGI)\cga.bgi
  896. X!     bgiobj $(BGI)\cga
  897. X  
  898. X  egavga.obj: $(BGI)\egavga.bgi
  899. X      bgiobj $(BGI)\egavga
  900. X
  901. X--- 83,89 -----
  902. X  
  903. X  # convert Borland Graphics Interface files to object for linking
  904. X  cga.obj: $(BGI)\cga.bgi
  905. X!     $(BGI)\bgiobj $(BGI)\cga
  906. X  
  907. X  egavga.obj: $(BGI)\egavga.bgi
  908. X      $(BGI)\bgiobj $(BGI)\egavga
  909. X***************
  910. X*** 84,90
  911. X      bgiobj $(BGI)\cga
  912. X  
  913. X  egavga.obj: $(BGI)\egavga.bgi
  914. X!     bgiobj $(BGI)\egavga
  915. X  
  916. X  herc.obj: $(BGI)\herc.bgi
  917. X      bgiobj $(BGI)\herc
  918. X
  919. X--- 86,92 -----
  920. X      $(BGI)\bgiobj $(BGI)\cga
  921. X  
  922. X  egavga.obj: $(BGI)\egavga.bgi
  923. X!     $(BGI)\bgiobj $(BGI)\egavga
  924. X  
  925. X  herc.obj: $(BGI)\herc.bgi
  926. X      $(BGI)\bgiobj $(BGI)\herc
  927. X***************
  928. X*** 87,90
  929. X      bgiobj $(BGI)\egavga
  930. X  
  931. X  herc.obj: $(BGI)\herc.bgi
  932. X!     bgiobj $(BGI)\herc
  933. X
  934. X--- 89,95 -----
  935. X      $(BGI)\bgiobj $(BGI)\egavga
  936. X  
  937. X  herc.obj: $(BGI)\herc.bgi
  938. X!     $(BGI)\bgiobj $(BGI)\herc
  939. X! 
  940. X! att.obj: $(BGI)\att.bgi
  941. X!     $(BGI)\bgiobj $(BGI)\att
  942. Xdiff -c ./makefile.ult ../patch/makefile.ult
  943. X*** ./makefile.ult    Tue Mar 27 08:59:07 1990
  944. X--- ../patch/makefile.ult    Thu Sep 13 10:21:36 1990
  945. X***************
  946. X*** 1,12
  947. X  #
  948. X  # GNUPLOT Makefile for Ultrix
  949. X  #
  950. X- # Note: Ultrix standard cc compiler has a bug with static structure
  951. X- # initializations [such as struct ts {int x;} tb[]={{100*0.32}};]
  952. X- # and so this makefile uses vcc instead.  If this isn't possible,
  953. X- # and you get "line xx: illegal initialization", then you'll have
  954. X- # to go into the .trm include file and compute all the floating point
  955. X- # defines with a calculator.
  956. X  
  957. X  # directory where to install executables on 'make install'
  958. X  DEST=/usr/local/bin
  959. X
  960. X--- 1,6 -----
  961. X  #
  962. X  # GNUPLOT Makefile for Ultrix
  963. X  #
  964. X  
  965. X  #   Changes were made in patch 1 so that the standard Ultrix cc compiler
  966. X  #   can be used.  Use makefile.unx.
  967. X***************
  968. X*** 8,20
  969. X  # to go into the .trm include file and compute all the floating point
  970. X  # defines with a calculator.
  971. X  
  972. X! # directory where to install executables on 'make install'
  973. X! DEST=/usr/local/bin
  974. X! # directory for installing man page on 'make man_install'
  975. X! MANDEST=/usr/man/manl
  976. X! # where to install help file gnuplot.gih
  977. X! #HELPDEST=/usr/local/lib/gnuplot.gih
  978. X! HELPDEST=docs/gnuplot.gih
  979. X  
  980. X  # -DVFORK if you have vfork()
  981. X  # -DBCOPY if your memcpy() is called bcopy() (a Berkeleyism, right?)
  982. X
  983. X--- 2,9 -----
  984. X  # GNUPLOT Makefile for Ultrix
  985. X  #
  986. X  
  987. X! #   Changes were made in patch 1 so that the standard Ultrix cc compiler
  988. X! #   can be used.  Use makefile.unx.
  989. X  
  990. X  all:
  991. X      echo "Use makefile.unx instead"
  992. X***************
  993. X*** 16,28
  994. X  #HELPDEST=/usr/local/lib/gnuplot.gih
  995. X  HELPDEST=docs/gnuplot.gih
  996. X  
  997. X! # -DVFORK if you have vfork()
  998. X! # -DBCOPY if your memcpy() is called bcopy() (a Berkeleyism, right?)
  999. X! # -DBZERO if you need to use bzero() (another BSD feature) instead of memset()
  1000. X! # -DNOCOPY if you don't have a memcpy() by any name
  1001. X! # -DGAMMA if you've got gamma(3)
  1002. X! # -O if you trust your compiler's optimizer
  1003. X! CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA -O #-gx 
  1004. X  
  1005. X  # Not wise to use vcc for everything because math.h isn't compatible with
  1006. X  # vcc.  (How can they get away with this?)
  1007. X
  1008. X--- 5,10 -----
  1009. X  #   Changes were made in patch 1 so that the standard Ultrix cc compiler
  1010. X  #   can be used.  Use makefile.unx.
  1011. X  
  1012. X! all:
  1013. X!     echo "Use makefile.unx instead"
  1014. X  
  1015. X***************
  1016. X*** 24,157
  1017. X  # -O if you trust your compiler's optimizer
  1018. X  CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA -O #-gx 
  1019. X  
  1020. X- # Not wise to use vcc for everything because math.h isn't compatible with
  1021. X- # vcc.  (How can they get away with this?)
  1022. X- #CC = vcc
  1023. X- 
  1024. X- # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  1025. X- # -DAED         AED 512 and AED 767
  1026. X- # -DBITGRAPH    BBN BitGraph
  1027. X- # -DDXY800A     Roland DXY800A plotter
  1028. X- # -DEPSON               Epson LX-800, Star NL-10, NX-1000 and lots of others
  1029. X- # -DFIG                 Fig graphics language (requires object.h from TransFig)
  1030. X- # -DHP2648              HP2648, HP2647
  1031. X- # -DHP26        HP2623A and maybe others
  1032. X- # -DHP75        HP7580, and probably other HPs
  1033. X- # -DHPGL                HP7475 and (hopefully) lots of others
  1034. X- # -DHPLJET              HP Laserjet
  1035. X- # -DIMAGEN      Imagen laser printers (300dpi) (requires -Iterm also)
  1036. X- # -DIRIS4D      IRIS4D series computer
  1037. X- # -DKERMIT      MS-Kermit Tektronix 4010 emulator
  1038. X- # -DLATEX       LATEX picture environment
  1039. X- # -DPOSTSCRIPT  Postscript
  1040. X- # -DPROPRINTER  IBM Proprinter
  1041. X- # -DQMS         QMS/QUIC laserprinter (Talaris 1200 and others)
  1042. X- # -DREGIS       ReGis graphics (vt125, vt220, vt240, Gigis...)
  1043. X- # -DSELANAR     Selanar
  1044. X- # -DTEK         Tektronix 4010, and probably others
  1045. X- # -DSUN         Sun Microsystems Workstation
  1046. X- # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  1047. X- # -DUNIXPLOT    unixplot
  1048. X- # -DV384        Vectrix 384 and tandy color printer
  1049. X- 
  1050. X- TERMFLAGS =  -Iterm -DAED -DBITGRAPH -DDXY800A -DEPSON -DHP2648 \
  1051. X-     -DHP26 -DHP75 -DHPGL -DHPLJET -DIMAGEN -DKERMIT -DLATEX \
  1052. X-     -DPOSTSCRIPT -DPROPRINTER -DQMS -DREGIS -DSELANAR -DTEK \
  1053. X-     -DUNIXPLOT -DV384
  1054. X- 
  1055. X- #TERMFLAGS =  -Iterm -DIMAGEN
  1056. X- 
  1057. X- OBJS = command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  1058. X-     plot.o scanner.o setshow.o standard.o term.o util.o
  1059. X- 
  1060. X- DIRS = term demo bugtest docs docs/latextut translate
  1061. X- CSOURCE1 = command.c setshow.c
  1062. X- CSOURCE2 = help.c graphics.c internal.c
  1063. X- CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c
  1064. X- CSOURCE4 = term.c util.c version.c
  1065. X- CSOURCE5 = term/aed.trm term/dxy.trm term/epson.trm term/font5x7.trm \
  1066. X-     term/hp26.trm term/hp2648.trm term/hpgl.trm \
  1067. X-     term/hpljet.trm term/iris4d.trm term/latex.trm term/sun.trm
  1068. X- CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  1069. X-     term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm \
  1070. X-     term/imPcodes.h term/imagen.trm term/object.h term/fig.trm
  1071. X- # not C code, but still needed
  1072. X- ETC = README README.gnutex makefile.unx makefile.vms linkopt.vms \
  1073. X-     makefile.3b1 plot.h help.h setshow.h lasergnu \
  1074. X-     demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  1075. X-     demo/simple.demo demo/polar.demo demo/electron.demo \
  1076. X-     bugtest/README bugtest/printf.c bugtest/scanf.c \
  1077. X-     bugtest/mscbug.c term/README
  1078. X- # PC-specific files
  1079. X- PC = corgraph.asm corplot.c header.mac hrcgraph.asm lineproc.mac \
  1080. X-     linkopt.msc linkopt.tc makefile.msc makefile.tc pcgraph.asm
  1081. X- # Documentation and help files
  1082. X- DOCS1 = docs/Makefile docs/README docs/checkdoc.c docs/doc2gih.c \
  1083. X-     docs/doc2hlp.c docs/doc2hlp.com docs/doc2ms.c docs/doc2tex.c \
  1084. X-     docs/gnuplot.1 docs/lasergnu.1 \
  1085. X-     docs/titlepage.ms docs/titlepage.tex
  1086. X- DOCS2 = docs/gnuplot.doc
  1087. X- DOCS3 = docs/latextut/Makefile docs/latextut/eg1.plt \
  1088. X-     docs/latextut/eg2.plt docs/latextut/eg3.dat docs/latextut/eg3.plt \
  1089. X-     docs/latextut/eg4.plt docs/latextut/eg5.plt docs/latextut/eg6.plt \
  1090. X-     docs/latextut/header.tex docs/latextut/tutorial.tex
  1091. X- # gnutex->gnuplot translator
  1092. X- TSOURCE1 = translate/Makefile translate/README translate/command.c \
  1093. X-     translate/eval.c translate/gnut2p.1 translate/internal.c \
  1094. X-     translate/misc.c translate/parse.c translate/plot.c \
  1095. X-     translate/plot.h translate/scanner.c translate/standard.c \
  1096. X-     translate/test1 translate/test2 translate/util.c
  1097. X- 
  1098. X- # -lplot iff you have -DUNIXPLOT
  1099. X- # -lsuntool -lsunwindow -lpixrect  iff you have -DSUN
  1100. X- # -lgl_s if IRIS4D
  1101. X- LIBS = -lm -lplot
  1102. X- 
  1103. X- gnuplot: $(OBJS) version.o
  1104. X-     vcc $(CFLAGS) $(OBJS) version.o $(LIBS) -o gnuplot
  1105. X- 
  1106. X- doc:
  1107. X-     ( cd docs; make gnuplot.gih )
  1108. X- 
  1109. X- translate:
  1110. X-     (cd translate; make)
  1111. X- 
  1112. X- all:    gnuplot doc
  1113. X- 
  1114. X- install: gnuplot doc man_install
  1115. X-     cp gnuplot lasergnu $(DEST)
  1116. X-     strip $(DEST)/gnuplot
  1117. X-     (cd docs; make install-unix HELPDEST=$(HELPDEST))
  1118. X- 
  1119. X- man_install: docs/gnuplot.1 docs/lasergnu.1
  1120. X-     cp docs/gnuplot.1 docs/lasergnu.1 $(MANDEST)
  1121. X- 
  1122. X- term.o: $(CSOURCE4) $(CSOURCE5) $(CSOURCE6)
  1123. X-     vcc $(CFLAGS) $(TERMFLAGS) -c term.c
  1124. X- 
  1125. X- $(OBJS): plot.h
  1126. X- 
  1127. X- command.o:
  1128. X-     cc $(CFLAGS) -c command.c -DHELPFILE=\"$(HELPDEST)\"
  1129. X- 
  1130. X- command.o help.o misc.o: help.h
  1131. X- 
  1132. X- command.o graphics.o misc.o plot.o setshow.o: setshow.h
  1133. X- 
  1134. X- SOURCES=plot.h help.h setshow.h $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) \
  1135. X-     $(CSOURCE4) $(CSOURCE5) $(CSOURCE6)
  1136. X- 
  1137. X- lint:
  1138. X-     lint -hx $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) $(CSOURCE4)
  1139. X- 
  1140. X- clean:
  1141. X-     rm -f *.o *~ term/*~
  1142. X-     (cd docs; make clean)
  1143. X-     (cd docs/latextut; make clean)
  1144. X-     (cd translate; make clean)
  1145. X- 
  1146. X- spotless:
  1147. X-     rm -f *.o *~ term/*~ TAGS gnuplot
  1148. X-     (cd docs; make clean)
  1149. X-     (cd docs/latextut; make spotless)
  1150. X-     (cd translate; make spotless)
  1151. X
  1152. X--- 8,10 -----
  1153. X  all:
  1154. X      echo "Use makefile.unx instead"
  1155. X  
  1156. Xdiff -c ./makefile.unx ../patch/makefile.unx
  1157. X*** ./makefile.unx    Tue Mar 27 08:58:58 1990
  1158. X--- ../patch/makefile.unx    Thu Sep 13 09:57:07 1990
  1159. X***************
  1160. X*** 18,23
  1161. X  # -DNOCOPY if you don't have a memcpy() by any name
  1162. X  # -DGAMMA if you've got gamma(3)
  1163. X  # -fswitch if you are compiling on a Sun3 (or even -f68881)
  1164. X  # -O if you trust your compiler's optimizer
  1165. X  CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA #-gx #-O
  1166. X  
  1167. X
  1168. X--- 18,24 -----
  1169. X  # -DNOCOPY if you don't have a memcpy() by any name
  1170. X  # -DGAMMA if you've got gamma(3)
  1171. X  # -fswitch if you are compiling on a Sun3 (or even -f68881)
  1172. X+ #    (but -fswitch is buggy on some systems, so watch out)
  1173. X  # -O if you trust your compiler's optimizer
  1174. X  CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA #-gx #-O
  1175. X  
  1176. X***************
  1177. X*** 21,26
  1178. X  # -O if you trust your compiler's optimizer
  1179. X  CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA #-gx #-O
  1180. X  
  1181. X  # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  1182. X  # -DAED         AED 512 and AED 767
  1183. X  # -DBITGRAPH    BBN BitGraph
  1184. X
  1185. X--- 22,32 -----
  1186. X  # -O if you trust your compiler's optimizer
  1187. X  CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA #-gx #-O
  1188. X  
  1189. X+ # -lplot if you have -DUNIXPLOT
  1190. X+ # -lsuntool -lsunwindow -lpixrect  if you have -DSUN
  1191. X+ # -lgl_s if IRIS4D
  1192. X+ LIBS = -lm -lplot
  1193. X+ 
  1194. X  # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  1195. X  # see other terminal defines in term.h
  1196. X  # -DFIG         Fig graphics language (requires object.h from TransFig)
  1197. X***************
  1198. X*** 22,39
  1199. X  CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA #-gx #-O
  1200. X  
  1201. X  # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  1202. X! # -DAED         AED 512 and AED 767
  1203. X! # -DBITGRAPH    BBN BitGraph
  1204. X! # -DDXY800A     Roland DXY800A plotter
  1205. X! # -DEEPIC           EEPIC-extended LaTeX driver, for EEPIC users
  1206. X! # -DEPSON        Epson LX-800, Star NL-10, NX-1000 and lots of others
  1207. X! # -DFIG           Fig graphics language (requires object.h from TransFig)
  1208. X! # -DHP2648        HP2648, HP2647
  1209. X! # -DHP26        HP2623A and maybe others
  1210. X! # -DHP75        HP7580, and probably other HPs
  1211. X! # -DHPGL        HP7475, HP7220 plotters, and (hopefully) lots of others
  1212. X! # -DHPLJET        HP Laserjet
  1213. X! # -DIMAGEN      Imagen laser printers (300dpi) (requires -Iterm also)
  1214. X  # -DIRIS4D      IRIS4D series computer
  1215. X  # -DKERMIT      MS-Kermit Tektronix 4010 emulator
  1216. X  # -DLATEX       LATEX picture environment
  1217. X
  1218. X--- 28,35 -----
  1219. X  LIBS = -lm -lplot
  1220. X  
  1221. X  # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  1222. X! # see other terminal defines in term.h
  1223. X! # -DFIG         Fig graphics language (requires object.h from TransFig)
  1224. X  # -DIRIS4D      IRIS4D series computer
  1225. X  # -DSUN         Sun Microsystems Workstation
  1226. X  # -DUNIXPLOT    unixplot
  1227. X***************
  1228. X*** 35,49
  1229. X  # -DHPLJET        HP Laserjet
  1230. X  # -DIMAGEN      Imagen laser printers (300dpi) (requires -Iterm also)
  1231. X  # -DIRIS4D      IRIS4D series computer
  1232. X- # -DKERMIT      MS-Kermit Tektronix 4010 emulator
  1233. X- # -DLATEX       LATEX picture environment
  1234. X- # -DNEC         NEC CP6 pinwriter printer
  1235. X- # -DPOSTSCRIPT  Postscript
  1236. X- # -DPROPRINTER  IBM Proprinter
  1237. X- # -DQMS         QMS/QUIC laserprinter (Talaris 1200 and others)
  1238. X- # -DREGIS       ReGis graphics (vt125, vt220, vt240, Gigis...)
  1239. X- # -DSELANAR     Selanar
  1240. X- # -DTEK         Tektronix 4010, and probably others
  1241. X  # -DSUN         Sun Microsystems Workstation
  1242. X  # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  1243. X  # -DUNIXPLOT    unixplot
  1244. X
  1245. X--- 31,36 -----
  1246. X  # see other terminal defines in term.h
  1247. X  # -DFIG         Fig graphics language (requires object.h from TransFig)
  1248. X  # -DIRIS4D      IRIS4D series computer
  1249. X  # -DSUN         Sun Microsystems Workstation
  1250. X  # -DUNIXPLOT    unixplot
  1251. X  
  1252. X***************
  1253. X*** 45,51
  1254. X  # -DSELANAR     Selanar
  1255. X  # -DTEK         Tektronix 4010, and probably others
  1256. X  # -DSUN         Sun Microsystems Workstation
  1257. X- # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  1258. X  # -DUNIXPLOT    unixplot
  1259. X  # -DV384        Vectrix 384 and tandy color printer
  1260. X  
  1261. X
  1262. X--- 32,37 -----
  1263. X  # -DFIG         Fig graphics language (requires object.h from TransFig)
  1264. X  # -DIRIS4D      IRIS4D series computer
  1265. X  # -DSUN         Sun Microsystems Workstation
  1266. X  # -DUNIXPLOT    unixplot
  1267. X  
  1268. X  TERMFLAGS =  -Iterm -DUNIXPLOT
  1269. X***************
  1270. X*** 47,53
  1271. X  # -DSUN         Sun Microsystems Workstation
  1272. X  # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  1273. X  # -DUNIXPLOT    unixplot
  1274. X- # -DV384        Vectrix 384 and tandy color printer
  1275. X  
  1276. X  TERMFLAGS =  -Iterm -DAED -DBITGRAPH -DDXY800A -DEPSON -DHP2648 \
  1277. X      -DHP26 -DHP75 -DHPGL -DHPLJET -DIMAGEN -DKERMIT -DLATEX -DEEPIC \
  1278. X
  1279. X--- 33,38 -----
  1280. X  # -DIRIS4D      IRIS4D series computer
  1281. X  # -DSUN         Sun Microsystems Workstation
  1282. X  # -DUNIXPLOT    unixplot
  1283. X  
  1284. X  TERMFLAGS =  -Iterm -DUNIXPLOT
  1285. X  
  1286. X***************
  1287. X*** 49,58
  1288. X  # -DUNIXPLOT    unixplot
  1289. X  # -DV384        Vectrix 384 and tandy color printer
  1290. X  
  1291. X! TERMFLAGS =  -Iterm -DAED -DBITGRAPH -DDXY800A -DEPSON -DHP2648 \
  1292. X!     -DHP26 -DHP75 -DHPGL -DHPLJET -DIMAGEN -DKERMIT -DLATEX -DEEPIC \
  1293. X!     -DPOSTSCRIPT -DPROPRINTER -DQMS -DREGIS -DSELANAR -DTEK \
  1294. X!     -DUNIXPLOT -DV384 
  1295. X  
  1296. X  OBJS = command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  1297. X      plot.o scanner.o setshow.o standard.o term.o util.o 
  1298. X
  1299. X--- 34,40 -----
  1300. X  # -DSUN         Sun Microsystems Workstation
  1301. X  # -DUNIXPLOT    unixplot
  1302. X  
  1303. X! TERMFLAGS =  -Iterm -DUNIXPLOT
  1304. X  
  1305. X  OBJS = command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  1306. X      plot.o scanner.o setshow.o standard.o term.o util.o 
  1307. X***************
  1308. X*** 62,70
  1309. X  CSOURCE2 = help.c graphics.c internal.c 
  1310. X  CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c 
  1311. X  CSOURCE4 = term.c util.c version.c
  1312. X! CSOURCE5 = term/aed.trm term/dxy.trm term/epson.trm term/font5x7.trm \
  1313. X!     term/hp26.trm term/hp2648.trm term/hpgl.trm \
  1314. X!     term/hpljet.trm term/iris4d.trm term/sun.trm
  1315. X  CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  1316. X      term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  1317. X  CSOURCE7 = term/imPcodes.h term/imagen.trm term/object.h term/fig.trm \
  1318. X
  1319. X--- 44,52 -----
  1320. X  CSOURCE2 = help.c graphics.c internal.c 
  1321. X  CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c 
  1322. X  CSOURCE4 = term.c util.c version.c
  1323. X! CSOURCE5 = term/aed.trm term/dxy.trm term/eps60.trm term/epson.trm \
  1324. X!     term/font5x7.trm term/hp26.trm term/hp2648.trm term/hpgl.trm \
  1325. X!     term/hpljet.trm term/iris4d.trm term/latex.trm term/sun.trm
  1326. X  CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  1327. X      term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  1328. X  CSOURCE7 = term/imPcodes.h term/imagen.trm term/object.h term/fig.trm \
  1329. X***************
  1330. X*** 68,74
  1331. X  CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  1332. X      term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  1333. X  CSOURCE7 = term/imPcodes.h term/imagen.trm term/object.h term/fig.trm \
  1334. X!     term/latex.trm term/eepic.trm
  1335. X  # not C code, but still needed
  1336. X  ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  1337. X      makefile.3b1 makefile.ult plot.h help.h setshow.h lasergnu \
  1338. X
  1339. X--- 50,56 -----
  1340. X  CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  1341. X      term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  1342. X  CSOURCE7 = term/imPcodes.h term/imagen.trm term/object.h term/fig.trm \
  1343. X!     term/latex.trm term/eepic.trm term/x11.trm gnuplot_x11.c
  1344. X  # not C code, but still needed
  1345. X  ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  1346. X      README.x11 makefile.x11 \
  1347. X***************
  1348. X*** 71,77
  1349. X      term/latex.trm term/eepic.trm
  1350. X  # not C code, but still needed
  1351. X  ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  1352. X!     makefile.3b1 makefile.ult plot.h help.h setshow.h lasergnu \
  1353. X       demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  1354. X      demo/simple.demo demo/polar.demo demo/electron.demo \
  1355. X      bugtest/README bugtest/printf.c bugtest/scanf.c \
  1356. X
  1357. X--- 53,60 -----
  1358. X      term/latex.trm term/eepic.trm term/x11.trm gnuplot_x11.c
  1359. X  # not C code, but still needed
  1360. X  ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  1361. X!     README.x11 makefile.x11 \
  1362. X!     makefile.3b1 plot.h help.h setshow.h term.h lasergnu \
  1363. X       demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  1364. X      demo/simple.demo demo/polar.demo demo/electron.demo \
  1365. X      bugtest/README bugtest/printf.c bugtest/scanf.c \
  1366. X***************
  1367. X*** 98,107
  1368. X      translate/plot.h translate/scanner.c translate/standard.c \
  1369. X      translate/test1 translate/test2 translate/util.c
  1370. X  
  1371. X! # -lplot if you have -DUNIXPLOT
  1372. X! # -lsuntool -lsunwindow -lpixrect  if you have -DSUN
  1373. X! # -lgl_s if IRIS4D
  1374. X! LIBS = -lm -lplot
  1375. X  
  1376. X  gnuplot: $(OBJS) version.o
  1377. X      cc $(CFLAGS) $(OBJS) version.o $(LIBS) -o gnuplot
  1378. X
  1379. X--- 81,87 -----
  1380. X      translate/plot.h translate/scanner.c translate/standard.c \
  1381. X      translate/test1 translate/test2 translate/util.c
  1382. X  
  1383. X! all:    gnuplot doc
  1384. X  
  1385. X  gnuplot: $(OBJS) version.o
  1386. X      $(CC) $(CFLAGS) $(OBJS) version.o $(LIBS) -o gnuplot
  1387. X***************
  1388. X*** 104,110
  1389. X  LIBS = -lm -lplot
  1390. X  
  1391. X  gnuplot: $(OBJS) version.o
  1392. X!     cc $(CFLAGS) $(OBJS) version.o $(LIBS) -o gnuplot
  1393. X  
  1394. X  doc:
  1395. X      ( cd docs; make gnuplot.gih )
  1396. X
  1397. X--- 84,90 -----
  1398. X  all:    gnuplot doc
  1399. X  
  1400. X  gnuplot: $(OBJS) version.o
  1401. X!     $(CC) $(CFLAGS) $(OBJS) version.o $(LIBS) -o gnuplot
  1402. X  
  1403. X  doc:
  1404. X      ( cd docs; make gnuplot.gih )
  1405. X***************
  1406. X*** 112,119
  1407. X  translate:
  1408. X      (cd translate; make)
  1409. X  
  1410. X- all:    gnuplot doc
  1411. X- 
  1412. X  install: gnuplot doc man_install
  1413. X      cp gnuplot lasergnu $(DEST)
  1414. X      strip $(DEST)/gnuplot
  1415. X
  1416. X--- 92,97 -----
  1417. X  translate:
  1418. X      (cd translate; make)
  1419. X  
  1420. X  install: gnuplot doc man_install
  1421. X      cp gnuplot lasergnu $(DEST)
  1422. X      strip $(DEST)/gnuplot
  1423. X***************
  1424. X*** 122,129
  1425. X  man_install: docs/gnuplot.1 docs/lasergnu.1
  1426. X      cp docs/gnuplot.1 docs/lasergnu.1 $(MANDEST)
  1427. X  
  1428. X! term.o: $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  1429. X!     cc $(CFLAGS) $(TERMFLAGS) -c term.c
  1430. X  
  1431. X  version.o:
  1432. X      cc $(CFLAGS) -DCONTACT=$(EMAIL) -c version.c
  1433. X
  1434. X--- 100,107 -----
  1435. X  man_install: docs/gnuplot.1 docs/lasergnu.1
  1436. X      cp docs/gnuplot.1 docs/lasergnu.1 $(MANDEST)
  1437. X  
  1438. X! term.o: term.h $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  1439. X!     $(CC) $(CFLAGS) $(TERMFLAGS) -c term.c
  1440. X  
  1441. X  version.o:
  1442. X      $(CC) $(CFLAGS) -DCONTACT=$(EMAIL) -c version.c
  1443. X***************
  1444. X*** 126,132
  1445. X      cc $(CFLAGS) $(TERMFLAGS) -c term.c
  1446. X  
  1447. X  version.o:
  1448. X!     cc $(CFLAGS) -DCONTACT=$(EMAIL) -c version.c
  1449. X  
  1450. X  $(OBJS): plot.h
  1451. X  
  1452. X
  1453. X--- 104,110 -----
  1454. X      $(CC) $(CFLAGS) $(TERMFLAGS) -c term.c
  1455. X  
  1456. X  version.o:
  1457. X!     $(CC) $(CFLAGS) -DCONTACT=$(EMAIL) -c version.c
  1458. X  
  1459. X  $(OBJS): plot.h
  1460. X  
  1461. X***************
  1462. X*** 131,137
  1463. X  $(OBJS): plot.h
  1464. X  
  1465. X  command.o:
  1466. X!     cc $(CFLAGS) -c command.c -DHELPFILE=\"$(HELPDEST)\"
  1467. X  
  1468. X  command.o help.o misc.o: help.h
  1469. X  
  1470. X
  1471. X--- 109,115 -----
  1472. X  $(OBJS): plot.h
  1473. X  
  1474. X  command.o:
  1475. X!     $(CC) $(CFLAGS) -c command.c -DHELPFILE=\"$(HELPDEST)\"
  1476. X  
  1477. X  command.o help.o misc.o: help.h
  1478. X  
  1479. Xdiff -c ./makefile.vms ../patch/makefile.vms
  1480. X*** ./makefile.vms    Tue Mar 27 08:58:59 1990
  1481. X--- ../patch/makefile.vms    Thu Sep  6 12:10:21 1990
  1482. X***************
  1483. X*** 9,38
  1484. X  # NOOP  NO Optimiser
  1485. X  CFLAGS = /NOOP
  1486. X  
  1487. X! # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  1488. X! # -DAED         AED 512 and AED 767
  1489. X! # -DBITGRAPH    BBN BitGraph
  1490. X! # -DDXY800A     Roland DXY800A plotter
  1491. X! # -DEPSON       Epson LX-800, Star NL-10, NX-1000 and lots of others
  1492. X! # -DFIG         Fig graphics language (requires object.h from TransFig)
  1493. X! # -DHP2648      HP2648, HP2647
  1494. X! # -DHP26        HP2623A and maybe others
  1495. X! # -DHP75        HP7580, and probably other HPs
  1496. X! # -DHPGL        HP7475 and (hopefully) lots of others
  1497. X! # -DHPLJET      HP Laserjet
  1498. X! # -DIMAGEN      Imagen laser printers (300dpi) (requires -Iterm also)
  1499. X! # -DIRIS4D      IRIS4D series computer
  1500. X! # -DKERMIT      MS-Kermit Tektronix 4010 emulator
  1501. X! # -DLATEX       LATEX picture environment
  1502. X! # -DPOSTSCRIPT  Postscript
  1503. X! # -DPROPRINTER  IBM Proprinter
  1504. X! # -DQMS         QMS/QUIC laserprinter (Talaris 1200 and others)
  1505. X! # -DREGIS       ReGis graphics (vt125, vt220, vt240, Gigis...)
  1506. X! # -DSELANAR     Selanar
  1507. X! # -DTEK         Tektronix 4010, and probably others
  1508. X! # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  1509. X! # -DUNIXPLOT    unixplot
  1510. X! # -DV384        Vectrix 384 and tandy color printer
  1511. X  
  1512. X  
  1513. X  TERMFLAGS = /define=(AED,BITGRAPH,DXY800A,HP2648,HP26,HP75,HPGL, \
  1514. X
  1515. X--- 9,16 -----
  1516. X  # NOOP  NO Optimiser
  1517. X  CFLAGS = /NOOP
  1518. X  
  1519. X! # /define=(<terminal>) in TERMFLAGS iff you wish to support <terminal>
  1520. X! # see other terminal defines in term.h
  1521. X  
  1522. X  TERMFLAGS = 
  1523. X  
  1524. X***************
  1525. X*** 34,39
  1526. X  # -DUNIXPLOT    unixplot
  1527. X  # -DV384        Vectrix 384 and tandy color printer
  1528. X  
  1529. X  
  1530. X  TERMFLAGS = /define=(AED,BITGRAPH,DXY800A,HP2648,HP26,HP75,HPGL, \
  1531. X      KERMIT,LATEX,POSTSCRIPT,QMS,REGIS,SELANAR,TEK,V384)
  1532. X
  1533. X--- 12,18 -----
  1534. X  # /define=(<terminal>) in TERMFLAGS iff you wish to support <terminal>
  1535. X  # see other terminal defines in term.h
  1536. X  
  1537. X+ TERMFLAGS = 
  1538. X  
  1539. X  OBJS =  command.obj,eval.obj,graphics.obj,internal.obj, \
  1540. X          misc.obj,parse.obj,plot.obj,scanner.obj,setshow.obj, \
  1541. X***************
  1542. X*** 35,43
  1543. X  # -DV384        Vectrix 384 and tandy color printer
  1544. X  
  1545. X  
  1546. X- TERMFLAGS = /define=(AED,BITGRAPH,DXY800A,HP2648,HP26,HP75,HPGL, \
  1547. X-     KERMIT,LATEX,POSTSCRIPT,QMS,REGIS,SELANAR,TEK,V384)
  1548. X- 
  1549. X  OBJS =  command.obj,eval.obj,graphics.obj,internal.obj, \
  1550. X          misc.obj,parse.obj,plot.obj,scanner.obj,setshow.obj, \
  1551. X          standard.obj,term.obj,util.obj,version.obj
  1552. X
  1553. X--- 14,19 -----
  1554. X  
  1555. X  TERMFLAGS = 
  1556. X  
  1557. X  OBJS =  command.obj,eval.obj,graphics.obj,internal.obj, \
  1558. X          misc.obj,parse.obj,plot.obj,scanner.obj,setshow.obj, \
  1559. X          standard.obj,term.obj,util.obj,version.obj
  1560. X***************
  1561. X*** 46,53
  1562. X  CSOURCE2 = help.c graphics.c internal.c
  1563. X  CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c
  1564. X  CSOURCE4 = term.c util.c version.c
  1565. X! CSOURCE5 = [.term]aed.trm [.term]dxy.trm [.term]epson.trm [.term]font5x7.trm  \
  1566. X!         [.term]hp26.trm [.term]hp2648.trm [.term]hpgl.trm  \
  1567. X          [.term]hpljet.trm [.term]iris4d.trm [.term]latex.trm
  1568. X  CSOURCE6 = [.term]post.trm [.term]pc.trm [.term]qms.trm [.term]regis.trm  \
  1569. X          [.term]tek.trm [.term]unixpc.trm [.term]unixplot.trm [.term]v384.trm  \
  1570. X
  1571. X--- 22,29 -----
  1572. X  CSOURCE2 = help.c graphics.c internal.c
  1573. X  CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c
  1574. X  CSOURCE4 = term.c util.c version.c
  1575. X! CSOURCE5 = [.term]aed.trm [.term]dxy.trm [.term]eps60.trm [.term]epson.trm \
  1576. X!     [.term]font5x7.trm  [.term]hp26.trm [.term]hp2648.trm [.term]hpgl.trm \
  1577. X          [.term]hpljet.trm [.term]iris4d.trm [.term]latex.trm
  1578. X  CSOURCE6 = [.term]post.trm [.term]pc.trm [.term]qms.trm [.term]regis.trm  \
  1579. X          [.term]tek.trm [.term]unixpc.trm [.term]unixplot.trm [.term]v384.trm  \
  1580. X***************
  1581. X*** 70,76
  1582. X          cc [.docs]doc2hlp.c
  1583. X          link doc2hlp,linkopt.vms/opt
  1584. X  
  1585. X! term.obj : $(CSOURCE4) $(CSOURCE5) $(CSOURCE6)
  1586. X          cc $(CFLAGS) $(TERMFLAGS) term.c
  1587. X  
  1588. X  $(OBJS) : plot.h
  1589. X
  1590. X--- 46,52 -----
  1591. X          cc [.docs]doc2hlp.c
  1592. X          link doc2hlp,linkopt.vms/opt
  1593. X  
  1594. X! term.obj : term.h $(CSOURCE4) $(CSOURCE5) $(CSOURCE6)
  1595. X          cc $(CFLAGS) $(TERMFLAGS) term.c
  1596. X  
  1597. X  $(OBJS) : plot.h
  1598. Xdiff -c ./makefile.x11 ../patch/makefile.x11
  1599. X*** ./makefile.x11    Thu Sep  6 09:22:34 1990
  1600. X--- ../patch/makefile.x11    Thu Sep 13 09:57:28 1990
  1601. X***************
  1602. X*** 0
  1603. X
  1604. X--- 1,210 -----
  1605. X+ #
  1606. X+ # GNUPLOT Makefile (Unix X11 support)
  1607. X+ #
  1608. X+ 
  1609. X+ # directory where to install executables on 'make install'
  1610. X+ DEST=/usr/local/bin
  1611. X+ # directory for installing man page on 'make man_install'
  1612. X+ MANDEST=/usr/man/manl
  1613. X+ # where to install help file gnuplot.gih
  1614. X+ #HELPDEST=/usr/local/lib/gnuplot.gih
  1615. X+ HELPDEST=docs/gnuplot.gih
  1616. X+ # Where to send email about bugs and comments (locally)
  1617. X+ EMAIL=\"pixar\!bug-gnuplot@sun.com\"
  1618. X+ 
  1619. X+ # -DVFORK if you have vfork()
  1620. X+ # -DBCOPY if your memcpy() is called bcopy() (a Berkeleyism, right?)
  1621. X+ # -DBZERO if you need to use bzero() (another BSD feature) instead of memset() 
  1622. X+ # -DNOCOPY if you don't have a memcpy() by any name
  1623. X+ # -DGAMMA if you've got gamma(3)
  1624. X+ # -fswitch if you are compiling on a Sun3 (or even -f68881)
  1625. X+ #    (but -fswitch is buggy on some systems, so watch out)
  1626. X+ # -O if you trust your compiler's optimizer
  1627. X+ # -Dunix and no -DVFORK if IBM RS/6000 AIX 3.1
  1628. X+ CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA #-gx #-O
  1629. X+ 
  1630. X+ # -lplot if you have -DUNIXPLOT
  1631. X+ # -lsuntool -lsunwindow -lpixrect  if you have -DSUN
  1632. X+ # -lgl_s if IRIS4D
  1633. X+ LIBS = -lm -lplot
  1634. X+ 
  1635. X+ # standard MIT X11 R4:  -lXaw -lXmu -lXt -lXext -lX11
  1636. X+ # Apollo DomainOS 10.4.2 (R3): -L/usr/lib/X11 -lXaw -lXmu -lXt -lX11
  1637. X+ # IBM RS/6000 AIX 3.1 (R3): -L/usr/lpp/X11/Xamples/lib/Xmu \
  1638. X+ #                -L/usr/lpp/X11/Xamples/lib/Xaw \
  1639. X+ #                        -lXaw -lXmu -lXt -lXext -lX11
  1640. X+ X11LIBS = -lXaw -lXmu -lXt -lXext -lX11
  1641. X+ 
  1642. X+ # standard MIT X11 R4: -I/usr/include/X11 -I/usr/include/X11/Xaw 
  1643. X+ # Apollo DomainOS 10.4.2 (R3): -I/usr/include/X11
  1644. X+ # IBM RS/6000 AIX 3.1 (R3): -I/usr/include/X11 -I/usr/lpp/X11/Xamples/lib/Xaw \
  1645. X+ #                        -I/usr/lpp/X11/Xamples/lib/Xaw/X11
  1646. X+ X11INCLUDES = -I/usr/include/X11 -I/usr/include/X11/Xaw
  1647. X+ 
  1648. X+ # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  1649. X+ # see other terminal defines in term.h
  1650. X+ # -DFIG         Fig graphics language (requires object.h from TransFig)
  1651. X+ # -DIRIS4D      IRIS4D series computer
  1652. X+ # -DSUN         Sun Microsystems Workstation
  1653. X+ # -DUNIXPLOT    unixplot
  1654. X+ # -DX11         X11 Window System
  1655. X+ 
  1656. X+ TERMFLAGS =  -Iterm -DUNIXPLOT -DX11
  1657. X+ 
  1658. X+ OBJS = command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  1659. X+     plot.o scanner.o setshow.o standard.o term.o util.o 
  1660. X+ 
  1661. X+ DIRS = term demo bugtest docs docs/latextut translate
  1662. X+ CSOURCE1 = command.c setshow.c 
  1663. X+ CSOURCE2 = help.c graphics.c internal.c 
  1664. X+ CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c 
  1665. X+ CSOURCE4 = term.c util.c version.c
  1666. X+ CSOURCE5 = term/aed.trm term/dxy.trm term/epson.trm term/font5x7.trm \
  1667. X+     term/hp26.trm term/hp2648.trm term/hpgl.trm \
  1668. X+     term/hpljet.trm term/iris4d.trm term/sun.trm
  1669. X+ CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  1670. X+     term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  1671. X+ CSOURCE7 = term/imPcodes.h term/imagen.trm term/object.h term/fig.trm \
  1672. X+     term/latex.trm term/eepic.trm term/x11.trm gnuplot_x11.c
  1673. X+ # not C code, but still needed
  1674. X+ ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  1675. X+     README.x11 makefile.x11 \
  1676. X+     makefile.3b1 plot.h help.h setshow.h term.h lasergnu \
  1677. X+      demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  1678. X+     demo/simple.demo demo/polar.demo demo/electron.demo \
  1679. X+     bugtest/README bugtest/printf.c bugtest/scanf.c \
  1680. X+     bugtest/mscbug.c term/README \
  1681. X+     linkopt.vms buildvms.com
  1682. X+ # PC-specific files
  1683. X+ PC = corgraph.asm corplot.c header.mac hrcgraph.asm lineproc.mac \
  1684. X+     linkopt.msc linkopt.tc makefile.msc makefile.tc pcgraph.asm 
  1685. X+ # Documentation and help files
  1686. X+ DOCS1 = docs/Makefile docs/README docs/checkdoc.c docs/doc2gih.c \
  1687. X+     docs/doc2hlp.c docs/doc2hlp.com docs/doc2ms.c docs/doc2tex.c \
  1688. X+     docs/gnuplot.1 docs/lasergnu.1 \
  1689. X+     docs/titlepage.ms docs/titlepage.tex 
  1690. X+ DOCS2 = docs/gnuplot.doc
  1691. X+ DOCS3 = docs/latextut/Makefile docs/latextut/eg1.plt \
  1692. X+     docs/latextut/eg2.plt docs/latextut/eg3.dat docs/latextut/eg3.plt \
  1693. X+     docs/latextut/eg4.plt docs/latextut/eg5.plt docs/latextut/eg6.plt \
  1694. X+     docs/latextut/header.tex docs/latextut/tutorial.tex
  1695. X+ # gnutex->gnuplot translator
  1696. X+ TSOURCE1 = translate/Makefile translate/README translate/command.c \
  1697. X+     translate/eval.c translate/gnut2p.1 translate/internal.c \
  1698. X+     translate/misc.c translate/parse.c translate/plot.c
  1699. X+ TSOURCE2 = \
  1700. X+     translate/plot.h translate/scanner.c translate/standard.c \
  1701. X+     translate/test1 translate/test2 translate/util.c
  1702. X+ 
  1703. X+ all:    gnuplot gnuplot_x11 doc
  1704. X+ 
  1705. X+ gnuplot: $(OBJS) version.o
  1706. X+     $(CC) $(CFLAGS) $(OBJS) version.o $(LIBS) -o gnuplot
  1707. X+ 
  1708. X+ doc:
  1709. X+     ( cd docs; make gnuplot.gih )
  1710. X+ 
  1711. X+ translate:
  1712. X+     (cd translate; make)
  1713. X+ 
  1714. X+ gnuplot_x11: gnuplot_x11.c
  1715. X+     $(CC) $(CFLAGS) $(X11INCLUDES) -o gnuplot_x11 gnuplot_x11.c $(X11LIBS)
  1716. X+ 
  1717. X+ install: gnuplot gnuplot_x11 doc man_install
  1718. X+     cp gnuplot gnuplot_x11 lasergnu $(DEST)
  1719. X+     strip $(DEST)/gnuplot
  1720. X+     strip $(DEST)/gnuplot_x11
  1721. X+     (cd docs; make install-unix HELPDEST=$(HELPDEST))
  1722. X+ 
  1723. X+ man_install: docs/gnuplot.1.x11 docs/lasergnu.1
  1724. X+     cp docs/lasergnu.1 $(MANDEST)
  1725. X+     cp docs/gnuplot.1.x11 $(MANDEST)/gnuplot.1
  1726. X+ 
  1727. X+ plot.o: plot.c
  1728. X+     $(CC) $(CFLAGS) -DX11 -c plot.c
  1729. X+ 
  1730. X+ term.o: term.h $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  1731. X+     $(CC) $(CFLAGS) $(TERMFLAGS) -c term.c
  1732. X+ 
  1733. X+ version.o:
  1734. X+     $(CC) $(CFLAGS) -DCONTACT=$(EMAIL) -c version.c
  1735. X+ 
  1736. X+ $(OBJS): plot.h
  1737. X+ 
  1738. X+ command.o:
  1739. X+     $(CC) $(CFLAGS) -c command.c -DHELPFILE=\"$(HELPDEST)\"
  1740. X+ 
  1741. X+ command.o help.o misc.o: help.h
  1742. X+ 
  1743. X+ command.o graphics.o misc.o plot.o setshow.o: setshow.h
  1744. X+ 
  1745. X+ SOURCES=plot.h help.h setshow.h $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) \
  1746. X+     $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  1747. X+ 
  1748. X+ lint:
  1749. X+     lint -hx $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) $(CSOURCE4)
  1750. X+ 
  1751. X+ clean:
  1752. X+     rm -f *.o *~ term/*~
  1753. X+     (cd docs; make clean)
  1754. X+     (cd docs/latextut; make clean)
  1755. X+     (cd translate; make clean)
  1756. X+ 
  1757. X+ spotless:
  1758. X+     rm -f *.o *~ term/*~ TAGS gnuplot gnuplot_x11
  1759. X+     (cd docs; make clean)
  1760. X+     (cd docs/latextut; make spotless)
  1761. X+     (cd translate; make spotless)
  1762. X+ 
  1763. X+ shar: gnuplot.sh00 gnuplot.sh01 gnuplot.sh02 gnuplot.sh03 gnuplot.sh04 \
  1764. X+     gnuplot.sh05 gnuplot.sh06 gnuplot.sh07 gnuplot.sh08 \
  1765. X+     gnuplot.sh09 gnuplot.sh10 gnuplot.sh11 gnuplot.sh12 \
  1766. X+     gnuplot.sh13 gnuplot.sh14
  1767. X+ 
  1768. X+ gnuplot.sh00:
  1769. X+     echo '#!/bin/sh' > gnuplot.sh00
  1770. X+     echo '# This is a shell file to make directories' >> gnuplot.sh00
  1771. X+     echo mkdir $(DIRS) >> gnuplot.sh00
  1772. X+ 
  1773. X+ gnuplot.sh01: $(ETC)
  1774. X+     shar $(ETC) > gnuplot.sh01
  1775. X+ 
  1776. X+ gnuplot.sh02: $(DOCS1)
  1777. X+     shar $(DOCS1) > gnuplot.sh02
  1778. X+ 
  1779. X+ gnuplot.sh03: $(DOCS2)
  1780. X+     shar $(DOCS2) > gnuplot.sh03
  1781. X+ 
  1782. X+ gnuplot.sh04: $(DOCS3)
  1783. X+     shar $(DOCS3) > gnuplot.sh04
  1784. X+ 
  1785. X+ gnuplot.sh05: $(CSOURCE1)
  1786. X+     shar $(CSOURCE1) > gnuplot.sh05
  1787. X+ 
  1788. X+ gnuplot.sh06: $(CSOURCE2)
  1789. X+     shar $(CSOURCE2) > gnuplot.sh06
  1790. X+ 
  1791. X+ gnuplot.sh07: $(CSOURCE3)
  1792. X+     shar $(CSOURCE3) > gnuplot.sh07
  1793. X+ 
  1794. X+ gnuplot.sh08: $(CSOURCE4)
  1795. X+     shar $(CSOURCE4) > gnuplot.sh08
  1796. X+ 
  1797. X+ gnuplot.sh09: $(CSOURCE5)
  1798. X+     shar $(CSOURCE5) > gnuplot.sh09
  1799. X+ 
  1800. X+ gnuplot.sh10: $(CSOURCE6)
  1801. X+     shar $(CSOURCE6) > gnuplot.sh10
  1802. X+ 
  1803. X+ gnuplot.sh11: $(CSOURCE7)
  1804. X+     shar $(CSOURCE7) > gnuplot.sh11
  1805. X+ 
  1806. X+ gnuplot.sh12: $(PC)
  1807. X+     shar $(PC) > gnuplot.sh12
  1808. X+ 
  1809. X+ gnuplot.sh13: $(TSOURCE1)
  1810. X+     shar $(TSOURCE1) > gnuplot.sh13
  1811. X+ 
  1812. X+ gnuplot.sh14: $(TSOURCE2)
  1813. X+     shar $(TSOURCE2) > gnuplot.sh14
  1814. X+ 
  1815. Xdiff -c ./misc.c ../patch/misc.c
  1816. X*** ./misc.c    Tue Mar 27 09:01:30 1990
  1817. X--- ../patch/misc.c    Thu Sep  6 09:20:35 1990
  1818. X***************
  1819. X*** 36,41
  1820. X  #include <graphics.h>
  1821. X  #endif
  1822. X  
  1823. X  extern int c_token;
  1824. X  extern char replot_line[];
  1825. X  extern struct at_type at;
  1826. X
  1827. X--- 36,43 -----
  1828. X  #include <graphics.h>
  1829. X  #endif
  1830. X  
  1831. X+ extern char *malloc();
  1832. X+ 
  1833. X  extern int c_token;
  1834. X  extern char replot_line[];
  1835. X  extern struct at_type at;
  1836. X***************
  1837. X*** 514,520
  1838. X  {
  1839. X      char *p;                /* the new allocation */
  1840. X      char errbuf[100];        /* error message string */
  1841. X-     extern char *malloc();
  1842. X  
  1843. X      p = malloc(size);
  1844. X      if (p == (char *)NULL) {
  1845. X
  1846. X--- 516,521 -----
  1847. X  {
  1848. X      char *p;                /* the new allocation */
  1849. X      char errbuf[100];        /* error message string */
  1850. X  
  1851. X      p = malloc(size);
  1852. X      if (p == (char *)NULL) {
  1853. Xdiff -c ./parse.c ../patch/parse.c
  1854. X*** ./parse.c    Tue Mar 27 09:01:39 1990
  1855. X--- ../patch/parse.c    Thu Aug 30 09:40:22 1990
  1856. X***************
  1857. X*** 31,36
  1858. X  #include <setjmp.h>
  1859. X  #include <signal.h>
  1860. X  #include <errno.h>
  1861. X  #include "plot.h"
  1862. X  
  1863. X  #ifndef vms
  1864. X
  1865. X--- 31,37 -----
  1866. X  #include <setjmp.h>
  1867. X  #include <signal.h>
  1868. X  #include <errno.h>
  1869. X+ #include <math.h>
  1870. X  #include "plot.h"
  1871. X  
  1872. X  #ifndef vms
  1873. X***************
  1874. X*** 75,80
  1875. X  }
  1876. X  
  1877. X  
  1878. X  evaluate_at(at_ptr,val_ptr)
  1879. X  struct at_type *at_ptr;
  1880. X  struct value *val_ptr;
  1881. X
  1882. X--- 76,112 -----
  1883. X  }
  1884. X  
  1885. X  
  1886. X+ #ifdef apollo
  1887. X+ #include <apollo/base.h>
  1888. X+ #include <apollo/pfm.h>
  1889. X+ #include <apollo/fault.h>
  1890. X+ 
  1891. X+ /*
  1892. X+   On an Apollo, the OS can signal a couple errors that are not mapped
  1893. X+   into SIGFPE, namely signalling NaN and branch on an unordered
  1894. X+   comparison.  I suppose there are others, but none of these are documented,
  1895. X+   so I handle them as they arise.
  1896. X+ 
  1897. X+   Anyway, we need to catch these faults and signal SIGFPE.
  1898. X+ */
  1899. X+ 
  1900. X+ pfm_$fh_func_val_t apollo_sigfpe(pfm_$fault_rec_t& fault_rec)
  1901. X+ {
  1902. X+     kill(getpid(), SIGFPE);
  1903. X+     return pfm_$continue_fault_handling;
  1904. X+ }
  1905. X+ 
  1906. X+ apollo_pfm_catch()
  1907. X+ {
  1908. X+     status_$t status;
  1909. X+     pfm_$establish_fault_handler(fault_$fp_bsun, pfm_$fh_backstop,
  1910. X+                  apollo_sigfpe, &status);
  1911. X+     pfm_$establish_fault_handler(fault_$fp_sig_nan, pfm_$fh_backstop,
  1912. X+                  apollo_sigfpe, &status);
  1913. X+ }
  1914. X+ #endif
  1915. X+ 
  1916. X+ 
  1917. X  evaluate_at(at_ptr,val_ptr)
  1918. X  struct at_type *at_ptr;
  1919. X  struct value *val_ptr;
  1920. X***************
  1921. X*** 79,84
  1922. X  struct at_type *at_ptr;
  1923. X  struct value *val_ptr;
  1924. X  {
  1925. X      undefined = FALSE;
  1926. X      errno = 0;
  1927. X      reset_stack();
  1928. X
  1929. X--- 111,118 -----
  1930. X  struct at_type *at_ptr;
  1931. X  struct value *val_ptr;
  1932. X  {
  1933. X+     double temp, real();
  1934. X+ 
  1935. X      undefined = FALSE;
  1936. X      errno = 0;
  1937. X      reset_stack();
  1938. X***************
  1939. X*** 95,100
  1940. X      } else {
  1941. X          (void) pop(val_ptr);
  1942. X          check_stack();
  1943. X      }
  1944. X  }
  1945. X  
  1946. X
  1947. X--- 129,139 -----
  1948. X      } else {
  1949. X          (void) pop(val_ptr);
  1950. X          check_stack();
  1951. X+     }
  1952. X+ /* At least one machine (ATT 3b1) computes Inf without a SIGFPE */
  1953. X+     temp = real(val_ptr);
  1954. X+     if (temp > VERYLARGE || temp < -VERYLARGE) {
  1955. X+         undefined = TRUE;
  1956. X      }
  1957. X  }
  1958. X  
  1959. Xdiff -c ./pcgraph.asm ../patch/pcgraph.asm
  1960. X*** ./pcgraph.asm    Tue Mar 27 09:03:47 1990
  1961. X--- ../patch/pcgraph.asm    Fri Aug 31 12:53:35 1990
  1962. X***************
  1963. X*** 23,28
  1964. X  
  1965. X  GPg1_Base equ 0B800h    ; Graphics page 1 base address
  1966. X  
  1967. X  _text    segment
  1968. X  
  1969. X      public _PC_line, _PC_color, _PC_mask, _PC_curloc, _PC_puts, _Vmode
  1970. X
  1971. X--- 23,30 -----
  1972. X  
  1973. X  GPg1_Base equ 0B800h    ; Graphics page 1 base address
  1974. X  
  1975. X+     extrn _inter:far
  1976. X+ 
  1977. X  _text    segment
  1978. X  
  1979. X      public _PC_line, _PC_color, _PC_mask, _PC_curloc, _PC_puts, _Vmode
  1980. X***************
  1981. X*** 27,33
  1982. X  
  1983. X      public _PC_line, _PC_color, _PC_mask, _PC_curloc, _PC_puts, _Vmode
  1984. X      public _erase, _save_stack, _ss_interrupt
  1985. X-     extrn _inter:near
  1986. X  
  1987. X  pcpixel proc near
  1988. X      ror word ptr linemask,1
  1989. X
  1990. X--- 29,34 -----
  1991. X  
  1992. X      public _PC_line, _PC_color, _PC_mask, _PC_curloc, _PC_puts, _Vmode
  1993. X      public _erase, _save_stack, _ss_interrupt
  1994. X  
  1995. X  pcpixel proc near
  1996. X      ror word ptr linemask,1
  1997. X***************
  1998. X*** 205,211
  1999. X      mov sp,-1        ; here too
  2000. X  save_sp equ this word - 2
  2001. X      sti
  2002. X!     jmp _inter; now it's safe to call the real routine
  2003. X  _ss_interrupt endp
  2004. X  
  2005. X  
  2006. X
  2007. X--- 206,212 -----
  2008. X      mov sp,-1        ; here too
  2009. X  save_sp equ this word - 2
  2010. X      sti
  2011. X!     jmp far ptr _inter; now it's safe to call the real routine
  2012. X  _ss_interrupt endp
  2013. X  
  2014. X  
  2015. Xdiff -c ./plot.c ../patch/plot.c
  2016. X*** ./plot.c    Tue Mar 27 09:01:43 1990
  2017. X--- ../patch/plot.c    Thu Sep  6 09:20:12 1990
  2018. X***************
  2019. X*** 170,175
  2020. X  registerbgidriver(CGA_driver);
  2021. X  registerbgidriver(EGAVGA_driver);
  2022. X  registerbgidriver(Herc_driver);
  2023. X  #endif
  2024. X  
  2025. X      setbuf(stderr,(char *)NULL);
  2026. X
  2027. X--- 170,183 -----
  2028. X  registerbgidriver(CGA_driver);
  2029. X  registerbgidriver(EGAVGA_driver);
  2030. X  registerbgidriver(Herc_driver);
  2031. X+ registerbgidriver(ATT_driver);
  2032. X+ #endif
  2033. X+ #ifdef X11
  2034. X+      { int n = X11_args(argc, argv); argv += n; argc -= n; }
  2035. X+ #endif 
  2036. X+ 
  2037. X+ #ifdef apollo
  2038. X+     apollo_pfm_catch();
  2039. X  #endif
  2040. X  
  2041. X      setbuf(stderr,(char *)NULL);
  2042. Xdiff -c ./standard.c ../patch/standard.c
  2043. X*** ./standard.c    Tue Mar 27 09:01:51 1990
  2044. X--- ../patch/standard.c    Thu Aug 30 14:33:01 1990
  2045. X***************
  2046. X*** 40,45
  2047. X  
  2048. X  extern struct value stack[STACK_DEPTH];
  2049. X  extern int s_p;
  2050. X  
  2051. X  struct value *pop(), *complex(), *integer();
  2052. X  
  2053. X
  2054. X--- 40,46 -----
  2055. X  
  2056. X  extern struct value stack[STACK_DEPTH];
  2057. X  extern int s_p;
  2058. X+ extern double zero;
  2059. X  
  2060. X  struct value *pop(), *complex(), *integer();
  2061. X  
  2062. X***************
  2063. X*** 45,50
  2064. X  
  2065. X  double magnitude(), angle(), real(), imag();
  2066. X  
  2067. X  
  2068. X  f_real()
  2069. X  {
  2070. X
  2071. X--- 46,56 -----
  2072. X  
  2073. X  double magnitude(), angle(), real(), imag();
  2074. X  
  2075. X+ /* The bessel function approximations here are from
  2076. X+  * "Computer Approximations"
  2077. X+  * by Hart, Cheney et al.
  2078. X+  * John Wiley & Sons, 1968
  2079. X+  */
  2080. X  
  2081. X  /* There appears to be a mistake in Hart, Cheney et al. on page 149.
  2082. X   * Where it list Qn(x)/x ~ P(z*z)/Q(z*z), z = 8/x, it should read
  2083. X***************
  2084. X*** 46,51
  2085. X  double magnitude(), angle(), real(), imag();
  2086. X  
  2087. X  
  2088. X  f_real()
  2089. X  {
  2090. X  struct value a;
  2091. X
  2092. X--- 52,268 -----
  2093. X   * John Wiley & Sons, 1968
  2094. X   */
  2095. X  
  2096. X+ /* There appears to be a mistake in Hart, Cheney et al. on page 149.
  2097. X+  * Where it list Qn(x)/x ~ P(z*z)/Q(z*z), z = 8/x, it should read
  2098. X+  *               Qn(x)/z ~ P(z*z)/Q(z*z), z = 8/x
  2099. X+  * In the functions below, Qn(x) is implementated using the later
  2100. X+  * equation.
  2101. X+  * These bessel functions are accurate to about 1e-13
  2102. X+  */
  2103. X+ 
  2104. X+ #define PI_ON_FOUR       0.78539816339744830961566084581987572
  2105. X+ #define PI_ON_TWO        1.57079632679489661923131269163975144
  2106. X+ #define THREE_PI_ON_FOUR 2.35619449019234492884698253745962716
  2107. X+ #define TWO_ON_PI        0.63661977236758134307553505349005744
  2108. X+ 
  2109. X+ static double dzero = 0.0;
  2110. X+ 
  2111. X+ /* jzero for x in [0,8]
  2112. X+  * Index 5849, 19.22 digits precision
  2113. X+  */
  2114. X+ static double pjzero[] = {
  2115. X+      0.4933787251794133561816813446e+21,
  2116. X+     -0.11791576291076105360384408e+21,
  2117. X+      0.6382059341072356562289432465e+19,
  2118. X+     -0.1367620353088171386865416609e+18,
  2119. X+      0.1434354939140346111664316553e+16,
  2120. X+     -0.8085222034853793871199468171e+13,
  2121. X+      0.2507158285536881945555156435e+11,
  2122. X+     -0.4050412371833132706360663322e+8,
  2123. X+      0.2685786856980014981415848441e+5
  2124. X+ };
  2125. X+ 
  2126. X+ static double qjzero[] = {
  2127. X+     0.4933787251794133562113278438e+21,
  2128. X+     0.5428918384092285160200195092e+19,
  2129. X+     0.3024635616709462698627330784e+17,
  2130. X+     0.1127756739679798507056031594e+15,
  2131. X+     0.3123043114941213172572469442e+12,
  2132. X+     0.669998767298223967181402866e+9,
  2133. X+     0.1114636098462985378182402543e+7,
  2134. X+     0.1363063652328970604442810507e+4,
  2135. X+     0.1e+1
  2136. X+ };
  2137. X+ 
  2138. X+ /* pzero for x in [8,inf]
  2139. X+  * Index 6548, 18.16 digits precision
  2140. X+  */
  2141. X+ static double ppzero[] = {
  2142. X+     0.2277909019730468430227002627e+5,
  2143. X+     0.4134538663958076579678016384e+5,
  2144. X+     0.2117052338086494432193395727e+5,
  2145. X+     0.348064864432492703474453111e+4,
  2146. X+     0.15376201909008354295771715e+3,
  2147. X+     0.889615484242104552360748e+0
  2148. X+ };
  2149. X+ 
  2150. X+ static double qpzero[] = {
  2151. X+     0.2277909019730468431768423768e+5,
  2152. X+     0.4137041249551041663989198384e+5,
  2153. X+     0.2121535056188011573042256764e+5,
  2154. X+     0.350287351382356082073561423e+4,
  2155. X+     0.15711159858080893649068482e+3,
  2156. X+     0.1e+1
  2157. X+ };
  2158. X+ 
  2159. X+ /* qzero for x in [8,inf]
  2160. X+  * Index 6948, 18.33 digits precision
  2161. X+  */
  2162. X+ static double pqzero[] = {
  2163. X+     -0.8922660020080009409846916e+2,
  2164. X+     -0.18591953644342993800252169e+3,
  2165. X+     -0.11183429920482737611262123e+3,
  2166. X+     -0.2230026166621419847169915e+2,
  2167. X+     -0.124410267458356384591379e+1,
  2168. X+     -0.8803330304868075181663e-2,
  2169. X+ };
  2170. X+ 
  2171. X+ static double qqzero[] = {
  2172. X+     0.571050241285120619052476459e+4,
  2173. X+     0.1195113154343461364695265329e+5,
  2174. X+     0.726427801692110188369134506e+4,
  2175. X+     0.148872312322837565816134698e+4,
  2176. X+     0.9059376959499312585881878e+2,
  2177. X+     0.1e+1
  2178. X+ };
  2179. X+ 
  2180. X+ 
  2181. X+ /* yzero for x in [0,8]
  2182. X+  * Index 6245, 18.78 digits precision
  2183. X+  */
  2184. X+ static double pyzero[] = {
  2185. X+     -0.2750286678629109583701933175e+20,
  2186. X+      0.6587473275719554925999402049e+20,
  2187. X+     -0.5247065581112764941297350814e+19,
  2188. X+      0.1375624316399344078571335453e+18,
  2189. X+     -0.1648605817185729473122082537e+16,
  2190. X+      0.1025520859686394284509167421e+14,
  2191. X+     -0.3436371222979040378171030138e+11,
  2192. X+      0.5915213465686889654273830069e+8,
  2193. X+     -0.4137035497933148554125235152e+5
  2194. X+ };
  2195. X+ 
  2196. X+ static double qyzero[] = {
  2197. X+     0.3726458838986165881989980739e+21,
  2198. X+     0.4192417043410839973904769661e+19,
  2199. X+     0.2392883043499781857439356652e+17,
  2200. X+     0.9162038034075185262489147968e+14,
  2201. X+     0.2613065755041081249568482092e+12,
  2202. X+     0.5795122640700729537380087915e+9,
  2203. X+     0.1001702641288906265666651753e+7,
  2204. X+     0.1282452772478993804176329391e+4,
  2205. X+     0.1e+1
  2206. X+ };
  2207. X+ 
  2208. X+ 
  2209. X+ /* jone for x in [0,8]
  2210. X+  * Index 6050, 20.98 digits precision
  2211. X+  */
  2212. X+ static double pjone[] = {
  2213. X+      0.581199354001606143928050809e+21,
  2214. X+     -0.6672106568924916298020941484e+20,
  2215. X+      0.2316433580634002297931815435e+19,
  2216. X+     -0.3588817569910106050743641413e+17,
  2217. X+      0.2908795263834775409737601689e+15,
  2218. X+     -0.1322983480332126453125473247e+13,
  2219. X+      0.3413234182301700539091292655e+10,
  2220. X+     -0.4695753530642995859767162166e+7,
  2221. X+      0.270112271089232341485679099e+4
  2222. X+ };
  2223. X+ 
  2224. X+ static double qjone[] = {
  2225. X+     0.11623987080032122878585294e+22,
  2226. X+     0.1185770712190320999837113348e+20,
  2227. X+     0.6092061398917521746105196863e+17,
  2228. X+     0.2081661221307607351240184229e+15,
  2229. X+     0.5243710262167649715406728642e+12,
  2230. X+     0.1013863514358673989967045588e+10,
  2231. X+     0.1501793594998585505921097578e+7,
  2232. X+     0.1606931573481487801970916749e+4,
  2233. X+     0.1e+1
  2234. X+ };
  2235. X+ 
  2236. X+ 
  2237. X+ /* pone for x in [8,inf]
  2238. X+  * Index 6749, 18.11 digits precision
  2239. X+  */
  2240. X+ static double ppone[] = {
  2241. X+     0.352246649133679798341724373e+5,
  2242. X+     0.62758845247161281269005675e+5,
  2243. X+     0.313539631109159574238669888e+5,
  2244. X+     0.49854832060594338434500455e+4,
  2245. X+     0.2111529182853962382105718e+3,
  2246. X+     0.12571716929145341558495e+1
  2247. X+ };
  2248. X+ 
  2249. X+ static double qpone[] = {
  2250. X+     0.352246649133679798068390431e+5,
  2251. X+     0.626943469593560511888833731e+5,
  2252. X+     0.312404063819041039923015703e+5,
  2253. X+     0.4930396490181088979386097e+4,
  2254. X+     0.2030775189134759322293574e+3,
  2255. X+     0.1e+1
  2256. X+ };
  2257. X+ 
  2258. X+ /* qone for x in [8,inf]
  2259. X+  * Index 7149, 18.28 digits precision
  2260. X+  */
  2261. X+ static double pqone[] = {
  2262. X+     0.3511751914303552822533318e+3,
  2263. X+     0.7210391804904475039280863e+3,
  2264. X+     0.4259873011654442389886993e+3,
  2265. X+     0.831898957673850827325226e+2,
  2266. X+     0.45681716295512267064405e+1,
  2267. X+     0.3532840052740123642735e-1
  2268. X+ };
  2269. X+ 
  2270. X+ static double qqone[] = {
  2271. X+     0.74917374171809127714519505e+4,
  2272. X+     0.154141773392650970499848051e+5,
  2273. X+     0.91522317015169922705904727e+4,
  2274. X+     0.18111867005523513506724158e+4,
  2275. X+     0.1038187585462133728776636e+3,
  2276. X+     0.1e+1
  2277. X+ };
  2278. X+ 
  2279. X+ 
  2280. X+ /* yone for x in [0,8]
  2281. X+  * Index 6444, 18.24 digits precision
  2282. X+  */
  2283. X+ static double pyone[] = {
  2284. X+     -0.2923821961532962543101048748e+20,
  2285. X+      0.7748520682186839645088094202e+19,
  2286. X+     -0.3441048063084114446185461344e+18,
  2287. X+      0.5915160760490070618496315281e+16,
  2288. X+     -0.4863316942567175074828129117e+14,
  2289. X+      0.2049696673745662182619800495e+12,
  2290. X+     -0.4289471968855248801821819588e+9,
  2291. X+      0.3556924009830526056691325215e+6
  2292. X+ };
  2293. X+ 
  2294. X+ static double qyone[] = {
  2295. X+     0.1491311511302920350174081355e+21,
  2296. X+     0.1818662841706134986885065935e+19,
  2297. X+     0.113163938269888452690508283e+17,
  2298. X+     0.4755173588888137713092774006e+14,
  2299. X+     0.1500221699156708987166369115e+12,
  2300. X+     0.3716660798621930285596927703e+9,
  2301. X+     0.726914730719888456980191315e+6,
  2302. X+     0.10726961437789255233221267e+4,
  2303. X+     0.1e+1
  2304. X+ };
  2305. X+ 
  2306. X+ 
  2307. X  f_real()
  2308. X  {
  2309. X  struct value a;
  2310. X***************
  2311. X*** 264,326
  2312. X  }
  2313. X  
  2314. X  
  2315. X- f_besj0()    /* j0(a) = sin(a)/a */
  2316. X- {
  2317. X- struct value a;
  2318. X-     a = top_of_stack;
  2319. X-     f_sin();
  2320. X-     push(&a);
  2321. X-     f_div();
  2322. X- }
  2323. X- 
  2324. X- 
  2325. X- f_besj1()    /* j1(a) = sin(a)/(a**2) - cos(a)/a */
  2326. X- {
  2327. X- struct value a;
  2328. X-     a = top_of_stack;
  2329. X-     f_sin();
  2330. X-     push(&a);
  2331. X-     push(&a);
  2332. X-     f_mult();
  2333. X-     f_div();
  2334. X-     push(&a);
  2335. X-     f_cos();
  2336. X-     push(&a);
  2337. X-     f_div();
  2338. X-     f_minus();
  2339. X- }
  2340. X- 
  2341. X- 
  2342. X- f_besy0()    /* y0(a) = -cos(a)/a */
  2343. X- {
  2344. X- struct value a;
  2345. X-     a = top_of_stack;
  2346. X-     f_cos();
  2347. X-     push(&a);
  2348. X-     f_div();
  2349. X-     f_uminus();
  2350. X- }
  2351. X- 
  2352. X- 
  2353. X- f_besy1()    /* y1(a) = -cos(a)/(a**2) - sin(a)/a */
  2354. X- {
  2355. X- struct value a;
  2356. X- 
  2357. X-     a = top_of_stack;
  2358. X-     f_cos();
  2359. X-     push(&a);
  2360. X-     push(&a);
  2361. X-     f_mult();
  2362. X-     f_div();
  2363. X-     push(&a);
  2364. X-     f_sin();
  2365. X-     push(&a);
  2366. X-     f_div();
  2367. X-     f_plus();
  2368. X-     f_uminus();
  2369. X- }
  2370. X- 
  2371. X- 
  2372. X  f_floor()
  2373. X  {
  2374. X  struct value a;
  2375. X
  2376. X--- 481,486 -----
  2377. X  }
  2378. X  
  2379. X  
  2380. X  f_floor()
  2381. X  {
  2382. X  struct value a;
  2383. X***************
  2384. X*** 369,371
  2385. X  }
  2386. X  
  2387. X  #endif /* GAMMA */
  2388. X
  2389. X--- 529,780 -----
  2390. X  }
  2391. X  
  2392. X  #endif /* GAMMA */
  2393. X+ 
  2394. X+ 
  2395. X+ /* bessel function approximations */
  2396. X+ double jzero(x)
  2397. X+ double x;
  2398. X+ {
  2399. X+ double p, q, x2;
  2400. X+ int n;
  2401. X+ 
  2402. X+     x2 = x * x;
  2403. X+     p = pjzero[8];
  2404. X+     q = qjzero[8];
  2405. X+     for (n=7; n>=0; n--) {
  2406. X+         p = p*x2 + pjzero[n];
  2407. X+         q = q*x2 + qjzero[n];
  2408. X+     }
  2409. X+     return(p/q);
  2410. X+ }
  2411. X+ 
  2412. X+ double pzero(x)
  2413. X+ double x;
  2414. X+ {
  2415. X+ double p, q, z, z2;
  2416. X+ int n;
  2417. X+ 
  2418. X+     z = 8.0 / x;
  2419. X+     z2 = z * z;
  2420. X+     p = ppzero[5];
  2421. X+     q = qpzero[5];
  2422. X+     for (n=4; n>=0; n--) {
  2423. X+         p = p*z2 + ppzero[n];
  2424. X+         q = q*z2 + qpzero[n];
  2425. X+     }
  2426. X+     return(p/q);
  2427. X+ }
  2428. X+ 
  2429. X+ double qzero(x)
  2430. X+ double x;
  2431. X+ {
  2432. X+ double p, q, z, z2;
  2433. X+ int n;
  2434. X+ 
  2435. X+     z = 8.0 / x;
  2436. X+     z2 = z * z;
  2437. X+     p = pqzero[5];
  2438. X+     q = qqzero[5];
  2439. X+     for (n=4; n>=0; n--) {
  2440. X+         p = p*z2 + pqzero[n];
  2441. X+         q = q*z2 + qqzero[n];
  2442. X+     }
  2443. X+     return(p/q);
  2444. X+ }
  2445. X+ 
  2446. X+ double yzero(x)
  2447. X+ double x;
  2448. X+ {
  2449. X+ double p, q, x2;
  2450. X+ int n;
  2451. X+ 
  2452. X+     x2 = x * x;
  2453. X+     p = pyzero[8];
  2454. X+     q = qyzero[8];
  2455. X+     for (n=7; n>=0; n--) {
  2456. X+         p = p*x2 + pyzero[n];
  2457. X+         q = q*x2 + qyzero[n];
  2458. X+     }
  2459. X+     return(p/q);
  2460. X+ }
  2461. X+ 
  2462. X+ double rj0(x)
  2463. X+ double x;
  2464. X+ {
  2465. X+     if ( x <= 0.0 )
  2466. X+         x = -x;
  2467. X+     if ( x < 8.0 )
  2468. X+         return(jzero(x));
  2469. X+     else
  2470. X+         return( sqrt(TWO_ON_PI/x) *
  2471. X+             (pzero(x)*cos(x-PI_ON_FOUR) - 8.0/x*qzero(x)*sin(x-PI_ON_FOUR)) );
  2472. X+ 
  2473. X+ }
  2474. X+ 
  2475. X+ double ry0(x)
  2476. X+ double x;
  2477. X+ {
  2478. X+     if ( x < 0.0 )
  2479. X+         return(dzero/dzero); /* error */
  2480. X+     if ( x < 8.0 )
  2481. X+         return( yzero(x) + TWO_ON_PI*rj0(x)*log(x) );
  2482. X+     else
  2483. X+         return( sqrt(TWO_ON_PI/x) *
  2484. X+             (pzero(x)*sin(x-PI_ON_FOUR) + 
  2485. X+             (8.0/x)*qzero(x)*cos(x-PI_ON_FOUR)) );
  2486. X+ 
  2487. X+ }
  2488. X+ 
  2489. X+ 
  2490. X+ double jone(x)
  2491. X+ double x;
  2492. X+ {
  2493. X+ double p, q, x2;
  2494. X+ int n;
  2495. X+ 
  2496. X+     x2 = x * x;
  2497. X+     p = pjone[8];
  2498. X+     q = qjone[8];
  2499. X+     for (n=7; n>=0; n--) {
  2500. X+         p = p*x2 + pjone[n];
  2501. X+         q = q*x2 + qjone[n];
  2502. X+     }
  2503. X+     return(p/q);
  2504. X+ }
  2505. X+ 
  2506. X+ double pone(x)
  2507. X+ double x;
  2508. X+ {
  2509. X+ double p, q, z, z2;
  2510. X+ int n;
  2511. X+ 
  2512. X+     z = 8.0 / x;
  2513. X+     z2 = z * z;
  2514. X+     p = ppone[5];
  2515. X+     q = qpone[5];
  2516. X+     for (n=4; n>=0; n--) {
  2517. X+         p = p*z2 + ppone[n];
  2518. X+         q = q*z2 + qpone[n];
  2519. X+     }
  2520. X+     return(p/q);
  2521. X+ }
  2522. X+ 
  2523. X+ double qone(x)
  2524. X+ double x;
  2525. X+ {
  2526. X+ double p, q, z, z2;
  2527. X+ int n;
  2528. X+ 
  2529. X+     z = 8.0 / x;
  2530. X+     z2 = z * z;
  2531. X+     p = pqone[5];
  2532. X+     q = qqone[5];
  2533. X+     for (n=4; n>=0; n--) {
  2534. X+         p = p*z2 + pqone[n];
  2535. X+         q = q*z2 + qqone[n];
  2536. X+     }
  2537. X+     return(p/q);
  2538. X+ }
  2539. X+ 
  2540. X+ double yone(x)
  2541. X+ double x;
  2542. X+ {
  2543. X+ double p, q, x2;
  2544. X+ int n;
  2545. X+ 
  2546. X+     x2 = x * x;
  2547. X+     p = 0.0;
  2548. X+     q = qyone[8];
  2549. X+     for (n=7; n>=0; n--) {
  2550. X+         p = p*x2 + pyone[n];
  2551. X+         q = q*x2 + qyone[n];
  2552. X+     }
  2553. X+     return(p/q);
  2554. X+ }
  2555. X+ 
  2556. X+ double rj1(x)
  2557. X+ double x;
  2558. X+ {
  2559. X+ double v,w;
  2560. X+     v = x;
  2561. X+     if ( x < 0.0 )
  2562. X+         x = -x;
  2563. X+     if ( x < 8.0 )
  2564. X+         return(v*jone(x));
  2565. X+     else {
  2566. X+         w = sqrt(TWO_ON_PI/x) *
  2567. X+             (pone(x)*cos(x-THREE_PI_ON_FOUR) - 
  2568. X+                8.0/x*qone(x)*sin(x-THREE_PI_ON_FOUR)) ;
  2569. X+         if (v < 0.0)
  2570. X+             w = -w;
  2571. X+         return( w );
  2572. X+     }
  2573. X+ }
  2574. X+ 
  2575. X+ double ry1(x)
  2576. X+ double x;
  2577. X+ {
  2578. X+     if ( x <= 0.0 )
  2579. X+         return(dzero/dzero); /* error */
  2580. X+     if ( x < 8.0 )
  2581. X+         return( x*yone(x) + TWO_ON_PI*(rj1(x)*log(x) - 1.0/x) );
  2582. X+     else
  2583. X+         return( sqrt(TWO_ON_PI/x) *
  2584. X+             (pone(x)*sin(x-THREE_PI_ON_FOUR) + 
  2585. X+             (8.0/x)*qone(x)*cos(x-THREE_PI_ON_FOUR)) );
  2586. X+ }
  2587. X+ 
  2588. X+ 
  2589. X+ f_besj0()    
  2590. X+ {
  2591. X+ struct value a;
  2592. X+ double x;
  2593. X+     (void) pop(&a);
  2594. X+     if (imag(&a) > zero)
  2595. X+         int_error("can only do bessel functions of reals",NO_CARET);
  2596. X+     push( complex(&a,rj0(real(&a)),0.0) );
  2597. X+ }
  2598. X+ 
  2599. X+ 
  2600. X+ f_besj1()    
  2601. X+ {
  2602. X+ struct value a;
  2603. X+ double x;
  2604. X+     (void) pop(&a);
  2605. X+     if (imag(&a) > zero)
  2606. X+         int_error("can only do bessel functions of reals",NO_CARET);
  2607. X+     push( complex(&a,rj1(real(&a)),0.0) );
  2608. X+ }
  2609. X+ 
  2610. X+ 
  2611. X+ f_besy0()    
  2612. X+ {
  2613. X+ struct value a;
  2614. X+ double x;
  2615. X+     (void) pop(&a);
  2616. X+     if (imag(&a) > zero)
  2617. X+         int_error("can only do bessel functions of reals",NO_CARET);
  2618. X+     if (real(&a) > 0.0)
  2619. X+         push( complex(&a,ry0(real(&a)),0.0) );
  2620. X+     else {
  2621. X+         push( complex(&a,0.0,0.0) );
  2622. X+         undefined = TRUE ;
  2623. X+     }
  2624. X+ }
  2625. X+ 
  2626. X+ 
  2627. X+ f_besy1()    
  2628. X+ {
  2629. X+ struct value a;
  2630. X+ double x;
  2631. X+     (void) pop(&a);
  2632. X+     if (imag(&a) > zero)
  2633. X+         int_error("can only do bessel functions of reals",NO_CARET);
  2634. X+     if (real(&a) > 0.0)
  2635. X+         push( complex(&a,ry1(real(&a)),0.0) );
  2636. X+     else {
  2637. X+         push( complex(&a,0.0,0.0) );
  2638. X+         undefined = TRUE ;
  2639. X+     }
  2640. X+ }
  2641. X+ 
  2642. XCommon subdirectories: ./term and ../patch/term
  2643. XCommon subdirectories: ./translate and ../patch/translate
  2644. END_OF_patch1a
  2645. if test 76676 -ne `wc -c <patch1a`; then
  2646.     echo shar: \"patch1a\" unpacked with wrong size!
  2647. fi
  2648. # end of overwriting check
  2649. fi
  2650. echo shar: End of shell archive.
  2651. exit 0
  2652.  
  2653.